[all-commits] [llvm/llvm-project] ebd7f7: [KeyInstr][NFC] Fix incorrect atomGroup/rank uint ...
Louis Dionne via All-commits
all-commits at lists.llvm.org
Wed Jun 18 10:34:25 PDT 2025
Branch: refs/heads/users/philnik777/cxx03_split_libcxx_tests
Home: https://github.com/llvm/llvm-project
Commit: ebd7f7539b1c2bc7d5e391bbb00cb56dc245b2dd
https://github.com/llvm/llvm-project/commit/ebd7f7539b1c2bc7d5e391bbb00cb56dc245b2dd
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Log Message:
-----------
[KeyInstr][NFC] Fix incorrect atomGroup/rank uint size in computeKeyInstructions
Commit: 9e622986526a35f3f8bc60a7fc756b5c7bf825c0
https://github.com/llvm/llvm-project/commit/9e622986526a35f3f8bc60a7fc756b5c7bf825c0
Author: Darren Wihandi <65404740+fairywreath at users.noreply.github.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/test/Conversion/ConvertToSPIRV/func-signature-vector-unroll.mlir
Log Message:
-----------
[mlir][spirv] Fix FuncOpVectorUnroll to process placeholder values in all blocks (#142339)
`FuncOpVectorUnroll` contains logic that replaces function arguments by
placeholders values. These replacements also involve changing all
instructions in the function that use the arguments to use these
placeholders. These placeholder values will later be changed back to use
the function arguments (either new or original if already legal).
The current implementation however only replaces back (the second
replacement, i.e. replacing the placeholder values to new/legal
arguments) the first block of instructions and not all of the blocks.
This may leave some instructions to use these placeholder values (which
for already legal arguments are just zeroattr values that will get
DCE'd) instead of the arguments, which is incorrect.
Closes #132158.
Commit: bcfbba12e6754e0a2a5a1c8e3aac3a24316bba2d
https://github.com/llvm/llvm-project/commit/bcfbba12e6754e0a2a5a1c8e3aac3a24316bba2d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/IR/Attributes.cpp
Log Message:
-----------
[llvm] Compare std::optional<T> to values directly (NFC) (#143913)
This patch transforms:
X && *X == Y
to:
X == Y
where X is of std::optional<T>, and Y is of T or similar.
Commit: 6751b3a549ebef78a7e75b100d61742c20945592
https://github.com/llvm/llvm-project/commit/6751b3a549ebef78a7e75b100d61742c20945592
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M lld/test/Unit/lit.cfg.py
M lldb/test/API/lit.cfg.py
M lldb/test/Shell/lit.cfg.py
M lldb/test/lit.cfg.py
M llvm/utils/lit/lit/LitConfig.py
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/lit/discovery.py
M llvm/utils/lit/lit/worker.py
Log Message:
-----------
Revert "[lit] cleanup unused imports" (#144054)
Reverts llvm/llvm-project#143930 as it causes build failures:
https://github.com/llvm/llvm-project/pull/143930#issuecomment-2969115461
Commit: 3ea45a65edb2f033e59a12f71a8241f220791ac8
https://github.com/llvm/llvm-project/commit/3ea45a65edb2f033e59a12f71a8241f220791ac8
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-fixed-length-partial-reduce.ll
Log Message:
-----------
[AArch64] Add fixed-length SVE USDOT support (#143730)
Commit: eba63cd76f7ba7f9e9964b1263f76409d08fcd04
https://github.com/llvm/llvm-project/commit/eba63cd76f7ba7f9e9964b1263f76409d08fcd04
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M flang/lib/Semantics/rewrite-directives.cpp
A flang/test/Lower/OpenMP/requires-atomic-default-mem-order.f90
M flang/test/Semantics/OpenMP/requires-atomic02.f90
Log Message:
-----------
[flang][OpenMP] Improve handling of REQUIRES ATOMIC_DEFAULT_MEM_ORDER (#143917)
According to OpenMP 5.0 rules, the ACQ_REL ordering coming from a
REQUIRES directive may need to be replaced with ACQUIRE or RELEASE
depending on the directive in the ATOMIC construct. This was not done,
leading to an incorrect "memory-order" clause appearing in the generated
HLFIR.
This may need to be relaxed a bit to fully comply with later spec
versions, that will be done in a future PR.
Commit: ec21b0fc9f64e8cffe689699d1e39533c62fcfc3
https://github.com/llvm/llvm-project/commit/ec21b0fc9f64e8cffe689699d1e39533c62fcfc3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
A llvm/test/CodeGen/X86/fixup-blend.ll
Log Message:
-----------
[X86] Add X86FixupInstTuning test coverage for (V)BLENDPD/S <-> (V)MOVSD/S patterns for various scheduler models
Commit: ca5040990ed17fa444d30c22fffcfa7ddc72612f
https://github.com/llvm/llvm-project/commit/ca5040990ed17fa444d30c22fffcfa7ddc72612f
Author: Aleksandr Platonov <platonov.aleksandr at huawei.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang/lib/Index/IndexBody.cpp
Log Message:
-----------
[clangd] Collect references in array designators (#140356)
Commit: dc9e300f12f3b9c8160dbfb0bc32252ad99c3ba7
https://github.com/llvm/llvm-project/commit/dc9e300f12f3b9c8160dbfb0bc32252ad99c3ba7
Author: Fabian Meumertzheim <fabian at meumertzhe.im>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-cov.rst
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
A llvm/test/tools/llvm-cov/showLineExecutionCounts-lcov-baseline.test
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/unittests/ProfileData/CoverageMappingTest.cpp
Log Message:
-----------
[llvm-cov] Add support for baseline coverage (#117910)
When no profile is provided, but the new --empty-profile option is
specifed, the export/report/show commands now emit coverage data
equivalent to that obtained from a profile with all zero counters
("baseline coverage").
This is useful for build systems (e.g. Bazel) that can track coverage
information for each build target, even those that are never linked into
tests and thus don't have runtime coverage data recorded. By merging in
baseline coverage, lines in files that aren't linked into tests are
correctly reported as uncovered.
Commit: 18b67a7a102c0052e5ae0e76ef1297902ffeb22d
https://github.com/llvm/llvm-project/commit/18b67a7a102c0052e5ae0e76ef1297902ffeb22d
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/lib/MC/MCAsmInfo.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
Log Message:
-----------
MC: Add MCAsmInfo::printExpr to replace MCExpr::print
* Make relocation specifier code closer (MCAsmInfo defines specifiers).
* MCExpr::print has an optional MCAsmInfo argument, which is
error-prone when omitted.
* Enable MCSpecifierExpr
Commit: d688df52ba9012197b3716ae85f818fafee7cf62
https://github.com/llvm/llvm-project/commit/d688df52ba9012197b3716ae85f818fafee7cf62
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
A llvm/test/Transforms/InstSimplify/vp-reverse.ll
Log Message:
-----------
[instsimplify] Add tests for missing vp.reverse simplifications
Commit: dec576514cb7106c59a5059ac6d52ebdf5de5275
https://github.com/llvm/llvm-project/commit/dec576514cb7106c59a5059ac6d52ebdf5de5275
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86FixupInstTuning.cpp
Log Message:
-----------
[X86] X86FixupInstTuning - add dbg message for each instruction replacement (#144083)
Help debug the changes the pass makes
Commit: bd33eef7f1013bea24289a898f788a2efe9d8282
https://github.com/llvm/llvm-project/commit/bd33eef7f1013bea24289a898f788a2efe9d8282
Author: Steven Perron <stevenperron at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferLoad.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferLoadStore.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferStore.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/Packed.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/ScalarResourceType.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StructuredBuffer.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UnknownBufferLoad.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UnknownBufferStore.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/spirv.layout.type.ll
M llvm/test/CodeGen/SPIRV/pointers/resource-addrspacecast-2.ll
M llvm/test/CodeGen/SPIRV/pointers/resource-addrspacecast.ll
M llvm/test/CodeGen/SPIRV/spirv-explicit-layout.ll
Log Message:
-----------
[HLSL][SPIRV] Use resource names (#143412)
The SPIR-V backend does not have access to the original name of a
resource in the source, so it tries to create a name. This leads to some
problems with reflection.
That is why start to pass the name of the resource from Clang to the
SPIR-V backend.
Fixes #138533
Commit: 68b6f392ed446ff8edfbb2a52899c9361d45ba28
https://github.com/llvm/llvm-project/commit/68b6f392ed446ff8edfbb2a52899c9361d45ba28
Author: Daniel Hernandez-Juarez <danherna at amd.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/test/Conversion/AMDGPUToROCDL/load_lds.mlir
Log Message:
-----------
[MLIR][AMDGPU] Fix bug in GatherToLDSOpLowering, get the correct MemRefType for destination (#142915)
This PR fixes a bug in GatherToLDSOpLowering, we were getting the
MemRefType of source for the destination. Additionally, some related
typos are corrected.
CC: @krzysz00 @umangyadav @lialan
Commit: 3b09a3d5ae41faac3c0046b93a9c6e0297cc860b
https://github.com/llvm/llvm-project/commit/3b09a3d5ae41faac3c0046b93a9c6e0297cc860b
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCAsmInfo.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
Log Message:
-----------
MC,SPARC: Replace SparcMCExpr with MCSpecifierExpr
Add a hook printSpecifierExpr so that targets can implement
relocation specifier printing without inheriting from MCSpecifierExpr.
Commit: 36c710c40e8a59f74f56eb0e04e438cec5532ec5
https://github.com/llvm/llvm-project/commit/36c710c40e8a59f74f56eb0e04e438cec5532ec5
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
A clang/test/CIR/CodeGen/libc.c
Log Message:
-----------
[CIR] Change default assumption about allowing builtins (#144004)
The code to read the "nobuiltins" attributes hasn't been implemented
yet, but we were defaulting to the assumption that use of builtins is
allowed for function calls that we recognize as standard C library calls
and have builtin equivalents of. This change reverses that assumption so
that when such calls are encountered, we just emit the call. This is a
better default assumption, and since our builtin handling for these
functions isn't implemented yet, it also allows us to compile more
programs.
Commit: 3bf1e1f79ce5b4921586b24014acf5888c35e03f
https://github.com/llvm/llvm-project/commit/3bf1e1f79ce5b4921586b24014acf5888c35e03f
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVImageOps.td
M mlir/lib/Dialect/SPIRV/IR/ImageOps.cpp
M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
M mlir/test/Target/SPIRV/image-ops.mlir
Log Message:
-----------
[mlir][spirv] Add definition of OpImageRead (#144038)
Commit: b184672ec7f1433e5dc698cda7e61be8a6085aa6
https://github.com/llvm/llvm-project/commit/b184672ec7f1433e5dc698cda7e61be8a6085aa6
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-06-13 (Fri, 13 Jun 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/wmemmove.cpp
A libc/src/wchar/wmemmove.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wmemmove_test.cpp
Log Message:
-----------
[libc] Implemented wmemmove (#142245)
Implemented wmemmove and added tests
Commit: c403cf1e38faa456fdd6f1301efabea3f36c3e6b
https://github.com/llvm/llvm-project/commit/c403cf1e38faa456fdd6f1301efabea3f36c3e6b
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCAsmInfo.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCAsmInfo.h
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h
Log Message:
-----------
VE: Replace VEMCExpr::printImpl with printSpecifierExpr
Prepare for removing the VEMCExpr subclass.
VEMCExpr overrides evaluateAsRelocatableImpl, so it cannot be removed
yet.
Commit: 6e988bd33f5fa8a529ef9208d3e147945b7bb7ed
https://github.com/llvm/llvm-project/commit/6e988bd33f5fa8a529ef9208d3e147945b7bb7ed
Author: Reid Kleckner <rnk at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/tblgen.bzl
Log Message:
-----------
[mlir] Forward **kwargs through gentbl_shard_rule (#144001)
This allows clients to pass additional cc_library arguments through this
macro to the build rules it calls.
Commit: 2704b27a0b452f4aaf87ab26d315fdc92857373a
https://github.com/llvm/llvm-project/commit/2704b27a0b452f4aaf87ab26d315fdc92857373a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M lldb/test/API/api/multiple-debuggers/multi-process-driver.cpp
Log Message:
-----------
[lldb] Include unistd.h for _exit in multi-process-driver.cpp
This test fails to build on macOS without the correct header include.
Commit: 65d88d31ea279bbab8a0fa2c8abfb3f723a1715b
https://github.com/llvm/llvm-project/commit/65d88d31ea279bbab8a0fa2c8abfb3f723a1715b
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-cov.rst
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
R llvm/test/tools/llvm-cov/showLineExecutionCounts-lcov-baseline.test
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/unittests/ProfileData/CoverageMappingTest.cpp
Log Message:
-----------
Revert "[llvm-cov] Add support for baseline coverage" (#144121)
Reverts llvm/llvm-project#117910
```
/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/unittests/ProfileData/CoverageMappingTest.cpp
/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/unittests/ProfileData/CoverageMappingTest.cpp:281:28: error: 'std::reference_wrapper' may not intend to support class template argument deduction [-Werror,-Wctad-maybe-unsupported]
281 | std::make_optional(std::reference_wrapper(*ProfileReader));
| ^
/usr/lib/gcc/ppc64le-redhat-linux/8/../../../../include/c++/8/bits/refwrap.h:289:11: note: add a deduction guide to suppress this warning
289 | class reference_wrapper
| ^
```
Commit: 9e23e85d6597bd59ff316a3ce93bb8ec41919b19
https://github.com/llvm/llvm-project/commit/9e23e85d6597bd59ff316a3ce93bb8ec41919b19
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M lld/MinGW/Driver.cpp
M lld/MinGW/Options.td
M lld/test/MinGW/lib.test
Log Message:
-----------
[LLD][Cygwin] Implement --dll-search-prefix (#143263)
GCC on Cygwin environment invokes linker with passing
`--dll-search-prefix=cyg`.
Implementing this option makes lld-mingw invokable by `gcc -fuse-ld=lld`.
---------
Co-authored-by: jeremyd2019 <github at jdrake.com>
Commit: 1072196c2737fcf921ad52e9a44c13423789111b
https://github.com/llvm/llvm-project/commit/1072196c2737fcf921ad52e9a44c13423789111b
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/Utils/ConversionUtils.h
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[tosa] Add duplicate indices check for Scatter (#143736)
Tosa scatter operator disallow duplicate indices (per batch)
This patch adds, to the validation pass, checking for duplicate values
in scatter operator's constant indices values.
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: b81d5e06c7cba8c9f1f5380daed4b9ee139214ba
https://github.com/llvm/llvm-project/commit/b81d5e06c7cba8c9f1f5380daed4b9ee139214ba
Author: Luke Lau <luke at igalia.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/abs-1.ll
M llvm/test/Transforms/InstCombine/fma.ll
M llvm/test/Transforms/InstCombine/minmax-intrinsics.ll
M llvm/test/Transforms/InstCombine/powi.ll
M llvm/test/Transforms/InstCombine/scmp.ll
M llvm/test/Transforms/InstCombine/sqrt.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll
Log Message:
-----------
[InstCombine] Fold shuffles through all trivially vectorizable intrinsics (#141979)
This addresses a TODO in foldShuffledIntrinsicOperands to use
isTriviallyVectorizable instead of a hardcoded list of intrinsics, which
in turn allows more intriniscs to be scalarized by VectorCombine.
>From what I can tell every intrinsic here should be speculatable so an
assertion was added.
Because this enables intrinsics like abs which have a scalar operand, we
need to also check isVectorIntrinsicWithScalarOpAtArg.
Commit: c609112a5383c10272e3afceedd4d03f26437cf0
https://github.com/llvm/llvm-project/commit/c609112a5383c10272e3afceedd4d03f26437cf0
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/fdopen_test.cpp
M libc/test/src/stdio/fgetc_test.cpp
M libc/test/src/stdio/fgetc_unlocked_test.cpp
M libc/test/src/stdio/fgets_test.cpp
M libc/test/src/stdio/fileop_test.cpp
M libc/test/src/stdio/fopencookie_test.cpp
M libc/test/src/stdio/remove_test.cpp
M libc/test/src/stdio/rename_test.cpp
M libc/test/src/stdio/setvbuf_test.cpp
M libc/test/src/stdio/unlocked_fileop_test.cpp
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/stdlib/strtold_test.cpp
Log Message:
-----------
Fix/reapply "[libc] Migrate stdio tests to ErrnoCheckingTest." (#143972)
This reverts commit a93e55e57ed00a55f822c64e3520c7c732b58480 and fixes
build and test failures:
* Proper include added to setvbuf_test.cpp
* fgetc/fgetc_unlocked/fgets tests are ported to ErrnoSetterMatcher and
are made more precise. This fixes inconsistencies between expectations
in regular and GPU builds - ErrnoSetterMatcher is configured to omit
errno matching on GPUs, as fgetc implementation on GPU doesn't set
errno, in contrast to Linux.
Commit: 493c1612d6f8f7a40d0bf0ba28fb753be83fac1c
https://github.com/llvm/llvm-project/commit/493c1612d6f8f7a40d0bf0ba28fb753be83fac1c
Author: Steven Perron <stevenperron at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/test/CodeGen/SPIRV/ExecutionMode_Fragment.ll
Log Message:
-----------
[SPIRV] Fix ExecutionMode_fragment.ll test (#144116)
Fix test broken by https://github.com/llvm/llvm-project/pull/143412.
Commit: fd432151a607a997c417f32cb70650fc7728629a
https://github.com/llvm/llvm-project/commit/fd432151a607a997c417f32cb70650fc7728629a
Author: William Huynh <113542065+saturn691 at users.noreply.github.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M libc/include/math.yaml
M libc/include/wchar.yaml
M libc/test/src/stdio/printf_core/converter_test.cpp
Log Message:
-----------
[libc] Fix bugs found when testing with all headers (#144049)
Fixes a couple of bugs found when building. The PR to enable the headers
can be found here: #144114.
- math.yaml: float128 guard
- wchar.yaml: __restrict keyword order
Commit: 9a3082276d21873a37925d0c6ad89bd28d065cea
https://github.com/llvm/llvm-project/commit/9a3082276d21873a37925d0c6ad89bd28d065cea
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/test/CIR/CodeGen/forrange.cpp
Log Message:
-----------
[CIR][NFC] Fix forrange.cpp test (#144123)
A recent change has cause the begin and end iterators in the
forrange.cpp CIR codegen test to be marked as 'init' causing the test to
fail. This change fixes the checks in the test.
Commit: 62eea86424c4eacd38ad8a03f4bdae78687e3ade
https://github.com/llvm/llvm-project/commit/62eea86424c4eacd38ad8a03f4bdae78687e3ade
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/test/CIR/CodeGen/array.cpp
Log Message:
-----------
[CIR] Update isSized with upstreamed types (#143960)
Update `isSized` function with the upstreamed types
Commit: ec330cf6701793525da9eb471e7ff796938ab54a
https://github.com/llvm/llvm-project/commit/ec330cf6701793525da9eb471e7ff796938ab54a
Author: Reid Kleckner <rnk at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
M utils/bazel/llvm_configs/llvm-config.h.cmake
Log Message:
-----------
[bazel] Update llvm-config.h and disable DebugLoc tracking (#144125)
In c588224ca797886064a7a79f6c0114a6963c325e, @chapuni set
LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING to 1, but from what I can tell,
this is not the default setting for CMake builds. I think the intention
was mostly just to update llvm-config.h to fix the Bazel build.
I'm adding LLVM_ENABLE_DEBUGLOC_ORIGIN_TRACKING as well to fix the build
for the same purpose.
Commit: 51689c9df2fbb81aab1ff802f3efb86cac926853
https://github.com/llvm/llvm-project/commit/51689c9df2fbb81aab1ff802f3efb86cac926853
Author: Michael Jones <michaelrj at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/OSUtil/fcntl.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/fcntl.cpp
M libc/src/fcntl/linux/CMakeLists.txt
M libc/src/fcntl/linux/fcntl.cpp
M libc/src/fcntl/linux/open.cpp
M libc/src/sys/auxv/linux/getauxval.cpp
M libc/src/sys/mman/linux/shm_common.h
M libc/src/sys/mman/linux/shm_open.cpp
M libc/src/sys/mman/linux/shm_unlink.cpp
M libc/src/unistd/linux/close.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][NFC] clean internal fd handling (#143991)
The previous internal fcntl implementation modified errno directly, this
patch fixes that. This patch also moves open and close into OSUtil since
they are used in multiple places. There are more places that need
similar cleanup but only got comments in this patch to keep it
relatively reviewable.
Related to: https://github.com/llvm/llvm-project/issues/143937
Commit: 5578bcbcfd25c797d4d14b8dfb3f83360712513d
https://github.com/llvm/llvm-project/commit/5578bcbcfd25c797d4d14b8dfb3f83360712513d
Author: Chao Chen <chao.chen at intel.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-rr.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg.mlir
Log Message:
-----------
[mlir][xegpu] add support for structure control flow ops in workgroup to subgroup distribution (#142618)
This PR introduces support for `scf::ForOp`, `scf::WhileOp`, `scf::If`,
and `scf::Condition` within the workgroup-subgroup-distribution pass,
leveraging the `SCFStructuralTypeConversionsAndLegality`.
Commit: ecdb549e6de60b3211cfa860eec498270e3980f1
https://github.com/llvm/llvm-project/commit/ecdb549e6de60b3211cfa860eec498270e3980f1
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/TableGen/Record.cpp
M llvm/test/TableGen/true-false.td
Log Message:
-----------
[TableGen] Avoid evaluating RHS of a BinOp until short-circuit is complete (#144021)
This patch adds an even more aggressive short-circuit on `!and` and
`!or` that completely avoids the evaluation of RHS operand until short
circuiting decisions are made.
Commit: 09c54c2e9e044fa0857831e6ce1bf77c8ce16ecc
https://github.com/llvm/llvm-project/commit/09c54c2e9e044fa0857831e6ce1bf77c8ce16ecc
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/unittests/Analysis/IR2VecTest.cpp
Log Message:
-----------
[IR2Vec] Minor vocab changes and exposing weights (#143200)
This PR changes some asserts in Vocab to hard checks that emit error and exposes flags and constructor to help in unit tests.
(Tracking issue - #141817)
Commit: 9d49b82de077c730d687593604dfa00770f11965
https://github.com/llvm/llvm-project/commit/9d49b82de077c730d687593604dfa00770f11965
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
Log Message:
-----------
[clang-scan-deps] Implement P2223R2 for DependencyDirectiveScanner.cpp (#143950)
P2223R2 allows the line-continuation slash `\` to be followed by
additional whitespace. The Clang lexer already follows this behavior,
also for versions prior to C++23. The dependency directive scanner
however only implements it for `#define` directives (15d5f5d).
This fully implements P2223R2 for the dependency directive scanner (for
any C++ standard) and aligns the dependency directive scanner's splicing
behavior with that of the Clang lexer.
For example, the following code was previously not scanned correctly by
`clang-scan-deps` but now works as expected:
```cpp
import \<whitespace here>
A;
```
Commit: 92a116c4ef822950f8c57eaa5164c844c73a1f7e
https://github.com/llvm/llvm-project/commit/92a116c4ef822950f8c57eaa5164c844c73a1f7e
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/fdopen_test.cpp
M libc/test/src/stdio/fgetc_test.cpp
M libc/test/src/stdio/fgetc_unlocked_test.cpp
M libc/test/src/stdio/fgets_test.cpp
M libc/test/src/stdio/fileop_test.cpp
M libc/test/src/stdio/fopencookie_test.cpp
M libc/test/src/stdio/remove_test.cpp
M libc/test/src/stdio/rename_test.cpp
M libc/test/src/stdio/setvbuf_test.cpp
M libc/test/src/stdio/unlocked_fileop_test.cpp
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/stdlib/strtold_test.cpp
Log Message:
-----------
Revert "Fix/reapply "[libc] Migrate stdio tests to ErrnoCheckingTest."" (#144129)
Reverts llvm/llvm-project#143972 - matcher seems to be pedantic for
fgets tests, reverting to verify and fix.
Commit: 452276ecc0f5d1cb9bf5e1655e422a68eafdb8b9
https://github.com/llvm/llvm-project/commit/452276ecc0f5d1cb9bf5e1655e422a68eafdb8b9
Author: Michael Jones <michaelrj at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M libc/fuzzing/stdio/CMakeLists.txt
Log Message:
-----------
[libc] Fix missing errno include in fuzzer (#144132)
The printf parser uses errno for setting up the %m conversion. It was
presumably getting this include indirectly until a recent change. This
patch adds a direct dependency to fix it.
Commit: 0c7ce6883a04dadd9daf0d41cba58c2f9eec19ad
https://github.com/llvm/llvm-project/commit/0c7ce6883a04dadd9daf0d41cba58c2f9eec19ad
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
Log Message:
-----------
Revert "[mlir][vector] Fix for WarpOpScfForOp failure when scf.for has results that are unused." (#144124)
Reverts llvm/llvm-project#141853
Reverting the bug fix because it does not handle all cases correctly.
Commit: f82cf7442029d3376813db82eca60800e999bfb9
https://github.com/llvm/llvm-project/commit/f82cf7442029d3376813db82eca60800e999bfb9
Author: Artem Gindinson <gindinson at roofline.ai>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
M mlir/unittests/Dialect/Utils/ReshapeOpsUtilsTest.cpp
Log Message:
-----------
[mlir][tensor] Fix `getReassociationForCollapse` for tensor/scalar re… (#144118)
…shapes
Commit 6e5a142 changed the behavior of the function when computing
reassociations between tensors (consisting of unit/dynamic dimensions)
and scalars/0d vectors. The IR representation for such reshapes actually
expects an empty reassociation, like so:
```
func.func @example(%arg0 : tensor<?x?x?xf32>) -> tensor<f32> {
%0 = tensor.collapse_shape %arg0 [] : tensor<?x?x?xf32> into tensor<f32>
}
```
Restore the original behavior - the routine should resort to reporting
failures when compile time-known non-unit dimensions are part of the
attempted reassociation.
Signed-off-by: Artem Gindinson <gindinson at roofline.ai>
Commit: 52d34865b9db3485c8a671a88cc571270349f720
https://github.com/llvm/llvm-project/commit/52d34865b9db3485c8a671a88cc571270349f720
Author: FYK <fanju110 at 163.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/ProfileList.h
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/ProfileList.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/test/Driver/flang-f-opts.f90
A flang/test/Profile/Inputs/gcc-flag-compatibility_IR.proftext
A flang/test/Profile/Inputs/gcc-flag-compatibility_IR_entry.proftext
A flang/test/Profile/gcc-flag-compatibility.f90
M llvm/include/llvm/Frontend/Driver/CodeGenOptions.h
M llvm/lib/Frontend/Driver/CMakeLists.txt
M llvm/lib/Frontend/Driver/CodeGenOptions.cpp
Log Message:
-----------
Fix and reapply IR PGO support for Flang (#142892)
This PR resubmits the changes from #136098, which was previously
reverted due to a build failure during the linking stage:
```
undefined reference to `llvm::DebugInfoCorrelate'
undefined reference to `llvm::ProfileCorrelate'
```
The root cause was that `llvm/lib/Frontend/Driver/CodeGenOptions.cpp`
references symbols from the `Instrumentation` component, but the
`LINK_COMPONENTS` in the `llvm/lib/Frontend/CMakeLists.txt` for
`LLVMFrontendDriver` did not include it. As a result, linking failed in
configurations where these components were not transitively linked.
### Fix:
This updated patch explicitly adds `Instrumentation` to
`LINK_COMPONENTS` in the relevant `llvm/lib/Frontend/CMakeLists.txt`
file to ensure the required symbols are properly resolved.
---------
Co-authored-by: ict-ql <168183727+ict-ql at users.noreply.github.com>
Co-authored-by: Chyaka <52224511+liliumshade at users.noreply.github.com>
Co-authored-by: Tarun Prabhu <tarunprabhu at gmail.com>
Commit: f6bf3bd5e001918780e7b1e8fceeb02604d65783
https://github.com/llvm/llvm-project/commit/f6bf3bd5e001918780e7b1e8fceeb02604d65783
Author: Reid Kleckner <rnk at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix XeGpu deps for 5578bcbcfd25c (#144133)
Commit: 59388fb0b92d7efd5737efd6c7b6d5c82f1bc6a8
https://github.com/llvm/llvm-project/commit/59388fb0b92d7efd5737efd6c7b6d5c82f1bc6a8
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/canonicalize-const-to-bop.ll
Log Message:
-----------
[InstCombine] Preserve NSW/NUW flags when folding const BOp with min/max (#143471)
When folding `X Pred C2 ? X BOp C1 : C2 BOp C1` to `min/max(X, C2) BOp
C1`, if NUW/NSW flags are present on `X BOp C1` and could be safely
applied to `C2 BOp C1`, then they may be added on the BOp after the fold
is complete. https://alive2.llvm.org/ce/z/n_3aNJ
Preserving these flags can allow subsequent transforms to re-order the
min/max and BOp, which in the case of NVPTX would allow for some
potential future transformations which would improve
instruction-selection.
Commit: f68848015f62156b8c3539b44f16d9c8b0a93a89
https://github.com/llvm/llvm-project/commit/f68848015f62156b8c3539b44f16d9c8b0a93a89
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
Log Message:
-----------
[VPlan] Manage Sentinel value for FindLastIV in VPlan. (#142291)
Similar to modeling the start value as operand, also model the sentinel
value as operand explicitly. This makes all require information for
code-gen available directly in VPlan.
PR: https://github.com/llvm/llvm-project/pull/142291
Commit: 24bbc820701b49ab8bc7b9670034e39e11da8a16
https://github.com/llvm/llvm-project/commit/24bbc820701b49ab8bc7b9670034e39e11da8a16
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/test/CIR/CodeGen/static-vars.c
A clang/test/CIR/CodeGen/static-vars.cpp
Log Message:
-----------
[CIR] Support for static variables (#143980)
This adds support for emitting static variables and their initializers.
Commit: 79e06bf1ae9961c5045134288fd8acc9173f6be2
https://github.com/llvm/llvm-project/commit/79e06bf1ae9961c5045134288fd8acc9173f6be2
Author: zGoldthorpe <Zach.Goldthorpe at amd.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
A llvm/test/CodeGen/AMDGPU/promote-alloca-structs.ll
Log Message:
-----------
[AMDGPU] Extended vector promotion to aggregate types. (#143784)
Extends the `amdgpu-promote-alloca-to-vector` pass to also promote
aggregate types whose elements are all the same type to vector
registers.
The motivation for this extension was to account for IR generated by the
frontend containing several singleton struct types containing vectors or
vector-like elements, though the implementation is strictly more
general.
Commit: a08de429e4ae0baaed23060cbae5c73dc6ffcc5d
https://github.com/llvm/llvm-project/commit/a08de429e4ae0baaed23060cbae5c73dc6ffcc5d
Author: Nico Weber <thakis at chromium.org>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
Log Message:
-----------
[gn] port cc365331af42
Commit: 2f1e6eb6c3e731266052536c3f98cce3a71a316e
https://github.com/llvm/llvm-project/commit/2f1e6eb6c3e731266052536c3f98cce3a71a316e
Author: yonghong-song <yhs at fb.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp
A llvm/test/CodeGen/BPF/warn-cmp.ll
Log Message:
-----------
[BPF] Report an warning if certain insn imm operand cannot fit in 32bit (#142989)
Ihor Solodrai reported a case ([1]) where gcc reports an error but clang
ignores that error and proceeds to generate incorrect code. More
specifically, the problematic code looks like:
if r1 == 0xcafefeeddeadbeef goto <label>
Here, 0xcafefeeddeadbeef needs to be encoded in a 32-bit imm field
of the insns and the 32-bit imm allows sign extenstion to 64-bit imm.
Obviously, 0xcafefeeddeadbeef cannot encode properly.
The compilation failed for gcc with the following error:
Error: immediate out of range, shall fit in 32 bits
Given a 64-bit imm value, converting to the proper 32-bit imm value
must satisfy the following 64-bit patterns:
00000000 00000000 00000000 00000000 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
11111111 11111111 11111111 11111111 1xxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
So if the top 32-bits is 0 or the top 33-bits is 0x1ffffffff, then the 64-bit imm
value can be truncated into proper 32-bit imm. Otherwise, a warning
message, the same as gcc, will be issued. If -Werror is enabled during
compilation, the warning will turn into an error.
[1] https://lore.kernel.org/bpf/70affb12-327b-4882-bd1d-afda8b8c6f56@linux.dev/
Commit: 90d98a38b273f5d62424a3815447675860947927
https://github.com/llvm/llvm-project/commit/90d98a38b273f5d62424a3815447675860947927
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags-std.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
Log Message:
-----------
Revert "[Clang] Added explanation why `is_constructible` evaluated to false. " (#144127)
Reverts llvm/llvm-project#143309
Someone needs to go through the libc++ tests and update the diagnostics
checks in those tests (ie, i don't believe there was anything wrong with
the PR, but it impacts libc++ tests nonetheless
Commit: 83f215b0350289f3bd349c1f85826a58d8d80f03
https://github.com/llvm/llvm-project/commit/83f215b0350289f3bd349c1f85826a58d8d80f03
Author: Fabian Meumertzheim <fabian at meumertzhe.im>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-cov.rst
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
A llvm/test/tools/llvm-cov/showLineExecutionCounts-lcov-baseline.test
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/unittests/ProfileData/CoverageMappingTest.cpp
Log Message:
-----------
Reland "[llvm-cov] Add support for baseline coverage" (#144130)
When no profile is provided, but the new --empty-profile option is
specified, the export/report/show commands now emit coverage data
equivalent to that obtained from a profile with all zero counters
("baseline coverage").
This is useful for build systems (e.g. Bazel) that can track coverage
information for each build target, even those that are never linked into
tests and thus don't have runtime coverage data recorded. By merging in
baseline coverage, lines in files that aren't linked into tests are
correctly reported as uncovered.
Reland with fixes to `CoverageMappingTest.cpp`.
Reverts llvm/llvm-project#144121
Commit: f952af30fd2efbf6effa3e845f0e49a9f0e2302d
https://github.com/llvm/llvm-project/commit/f952af30fd2efbf6effa3e845f0e49a9f0e2302d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[clang][docs][RISCV] Prepend the HelpText for -mrvv-vector-bits into the DocBrief. (#144128)
The DocBrief is used to generate the webpage description of the option.
The current text only talks about the possible values, but not what the
option does.
Commit: acc58ac8bf792d78233daf913565e2cbb61a8f5c
https://github.com/llvm/llvm-project/commit/acc58ac8bf792d78233daf913565e2cbb61a8f5c
Author: Reid Kleckner <rnk at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dep for 52d34865b9db3485c (#144147)
Commit: b7cb34840cd1e8cea932f04d5b4e34b4056cb6de
https://github.com/llvm/llvm-project/commit/b7cb34840cd1e8cea932f04d5b4e34b4056cb6de
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/cast.cpp
Log Message:
-----------
[CIR] Enable floating point casts (#144142)
We already had the code in place to emit CIR floating point cast ops
that get lowered to fpext or fptrunc, but we weren't calling the
function to emit that cast from ScalarExprEmitter::emitScalarCast. This
change adds that call.
Commit: 65eaed7d5a08210cd5b419f45845d5de81435d7e
https://github.com/llvm/llvm-project/commit/65eaed7d5a08210cd5b419f45845d5de81435d7e
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/basic.c
Log Message:
-----------
[CIR] Handle character literal values (#144141)
This change adds a handler for emitting a cir.constant op when a
character literal is encountered outside an initializer expression.
Commit: f5df231d8caece81fd800b921cf4fbd7774e2885
https://github.com/llvm/llvm-project/commit/f5df231d8caece81fd800b921cf4fbd7774e2885
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
Log Message:
-----------
[LV] Fix test line and regen an autogen test
Commit: 1ded2c599fd230b2d355386c019a3054f5745d55
https://github.com/llvm/llvm-project/commit/1ded2c599fd230b2d355386c019a3054f5745d55
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-loop-backedge-elimination-epilogue.ll
Log Message:
-----------
[LV] Use createIterationCountCheck during epilogue skeleton creation.
Use helper already used for minimum trip count checks for the regular
ILV skeleton creation also for epilogue skeleton creation.
Commit: c42912b8c96ff1130437e47c163aeb5c1191fe5d
https://github.com/llvm/llvm-project/commit/c42912b8c96ff1130437e47c163aeb5c1191fe5d
Author: Amy Huang <akhuang at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M libc/src/string/string_utils.h
Log Message:
-----------
Fix string_length function so that it always returns. (#144148)
Previously setting LIBC_COPT_STRING_UNSAFE_WIDE_READ would cause a build
error because there is a path in the ifdef that doesn't return anything.
Commit: 938e91e4fe10a9ff810b41ee74f5c0af8d3ac490
https://github.com/llvm/llvm-project/commit/938e91e4fe10a9ff810b41ee74f5c0af8d3ac490
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/unittests/ProfileData/DataAccessProfTest.cpp
Log Message:
-----------
[memprof] Use testing::IsEmpty (NFC) (#144096)
This patch replaces testing::IsEmpty with IsEmpty because we already
have:
using ::testing::IsEmpty;
near the beginning of the file.
Commit: 6d0cfc2ca51e9365f1c6f216df30a612958aca70
https://github.com/llvm/llvm-project/commit/6d0cfc2ca51e9365f1c6f216df30a612958aca70
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[Vectorize] Use llvm::drop_begin (NFC) (#144098)
We can pass a range to llvm::drop_begin.
Commit: 2a805589f56b30b27057c7549dd0ad2963ae16b1
https://github.com/llvm/llvm-project/commit/2a805589f56b30b27057c7549dd0ad2963ae16b1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
Log Message:
-----------
[SPIRV] Use llvm::all_of (NFC) (#144099)
We can pass a range to llvm::all_of.
Commit: 5064a5bc3e958aeb18bf3f8c7144c99cc3103a91
https://github.com/llvm/llvm-project/commit/5064a5bc3e958aeb18bf3f8c7144c99cc3103a91
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/IR/DebugInfo.cpp
Log Message:
-----------
[IR] Remove a redundant control flow statement (NFC) (#144100)
Commit: a89df72ec0864301f102296dcf7b3bd22844adf5
https://github.com/llvm/llvm-project/commit/a89df72ec0864301f102296dcf7b3bd22844adf5
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
A llvm/test/ThinLTO/X86/Inputs/devirt_single_hybrid_foo_tcl.ll
M llvm/test/ThinLTO/X86/devirt_single_hybrid.ll
Log Message:
-----------
WholeProgramDevirt: Fix importing in llvm.type.checked.load case.
We were clearing SummaryTypeCheckedLoadUsers to prevent devirtualized
llvm.type.checked.load calls from being converted to llvm.type.test,
which meant that AddCalls would not see them in the list of
callsites and they would not get imported. Fix that by not clearing
SummaryTypeCheckedLoadUsers so that the list survives to AddCalls and
using AllCallSitesDevirted to control whether to convert them instead.
Reviewers: teresajohnson
Reviewed By: teresajohnson
Pull Request: https://github.com/llvm/llvm-project/pull/144019
Commit: 52a6492136ef43462c68efa88a0276bb66ee8c52
https://github.com/llvm/llvm-project/commit/52a6492136ef43462c68efa88a0276bb66ee8c52
Author: Reid Kleckner <rnk at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
Log Message:
-----------
[bazel] Add missing errno deps one more time
Commit: 60d000496b5485c89c51e64b2b339210d48263be
https://github.com/llvm/llvm-project/commit/60d000496b5485c89c51e64b2b339210d48263be
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/include/llvm/Support/Compiler.h
Log Message:
-----------
[Cygwin] Define LLVM_ABI for Cygwin (#143222)
592243c1cb3ea53b34033132a87b0d14af9d1079 should be also applied to
LLVM_ABI.
Commit: be5c96bfac328fed548c532bbe1710fe23460a85
https://github.com/llvm/llvm-project/commit/be5c96bfac328fed548c532bbe1710fe23460a85
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
A clang/test/CodeGen/debug-info-version-coff.c
M clang/test/CodeGen/debug-info-version.c
A clang/test/CodeGenCXX/debug-info-coff.cpp
M clang/test/CodeGenCXX/debug-info-hotpatch-aarch64.cpp
M clang/test/CodeGenCXX/debug-info-hotpatch-arm.cpp
M clang/test/Frontend/ast-main.c
M clang/test/Frontend/ast-main.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
M llvm/test/CodeGen/Generic/selection-dag-determinism.ll
M llvm/test/DebugInfo/COFF/dwarf-headers.ll
A llvm/test/DebugInfo/COFF/emission-kind-no-codeview.ll
M llvm/test/DebugInfo/COFF/emission-kind-no-debug.ll
M llvm/test/DebugInfo/COFF/fission-cu.ll
M llvm/test/DebugInfo/COFF/fission-sections.ll
A llvm/test/DebugInfo/COFF/uefi-nodebug.ll
M llvm/test/DebugInfo/Generic/directives-only.ll
Log Message:
-----------
[CodeGen][COFF] Always emit CodeView compiler info on Windows targets (#142970)
MSVC always emits minimal CodeView metadata with compiler information,
even when debug info is otherwise disabled. Other tools may rely on this
metadata being present. For example, linkers use it to determine whether
hotpatching is enabled for the object file.
Commit: f62a8ab9304fb8b8b3ac3519a7addd7d3d234b04
https://github.com/llvm/llvm-project/commit/f62a8ab9304fb8b8b3ac3519a7addd7d3d234b04
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/test/CIR/IR/invalid-vector-shuffle-wrong-index.cir
Log Message:
-----------
[CIR] Extend VecShuffleOp verifier to catch invalid index (#143262)
Extend the verifier to catch index larger than the size of vector
elements in VecShuffleOp
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 5ab285e0a60ad914bda893dbe18b6c1c562f3db6
https://github.com/llvm/llvm-project/commit/5ab285e0a60ad914bda893dbe18b6c1c562f3db6
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M lld/COFF/Writer.cpp
M lld/test/COFF/pdata-arm64ec.test
Log Message:
-----------
[LLD][COFF] Fix ARM64X CHPE exception data size relocation when no x86 .pdata is present (#144085)
Fixes an issue where we incorrectly skip setting the relocation value if
`hybridPdata.first` is null.
Commit: 8229628cf1812e126ff72ee9f4b5f267db4c91da
https://github.com/llvm/llvm-project/commit/8229628cf1812e126ff72ee9f4b5f267db4c91da
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/test/CodeGenCXX/debug-info-coff.cpp
Log Message:
-----------
[Clang] Relax DICompileUnit producer check in debug-info-coff.cpp test (NFC)
Fixes test from #142970 on Fuchsia CI, which uses "Fuchsia clang version" prefix.
Commit: 3afc2be1f0a4d3e3f646403a7495bcb12ef94246
https://github.com/llvm/llvm-project/commit/3afc2be1f0a4d3e3f646403a7495bcb12ef94246
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
A llvm/test/tools/llvm-lto2/print-guid.test
M llvm/tools/llvm-lto2/llvm-lto2.cpp
Log Message:
-----------
llvm-lto2: Add print-guid subcommand.
This is useful for debugging ThinLTO issues.
Reviewers: teresajohnson
Reviewed By: teresajohnson
Pull Request: https://github.com/llvm/llvm-project/pull/143992
Commit: 473dea9b0b86d48db805079fa3e68b37e1dbcdd9
https://github.com/llvm/llvm-project/commit/473dea9b0b86d48db805079fa3e68b37e1dbcdd9
Author: William Huynh <William.Huynh at arm.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/test/UnitTest/CMakeLists.txt
Log Message:
-----------
[libc] Output all headers with LIBC_CONF_OUTPUT_ALL_HEADERS (#144114)
Following discussion from
https://discourse.llvm.org/t/missing-declarations-in-header-files/86678,
we decided to add a flag to output all headers. Requires #144049.
- Allows outputting all headers
- Minor whitespace change for alignment
---------
Co-authored-by: Michael Jones <michaelrj at google.com>
Commit: 2c440232e261746970cdf6f74d6588464eecd48b
https://github.com/llvm/llvm-project/commit/2c440232e261746970cdf6f74d6588464eecd48b
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][libc] Add missing deps after 51689c9df2fbb81aab1ff802f3efb86cac926853
Commit: a591bd222b2e0356b8132b515422fe480b87322b
https://github.com/llvm/llvm-project/commit/a591bd222b2e0356b8132b515422fe480b87322b
Author: Amy Huang <akhuang at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M libc/config/config.json
Log Message:
-----------
Turn LIBC_COPT_STRING_UNSAFE_WIDE_READ on by default (#144163)
Configure strlen to use unsafe implementation because it is faster.
Because this is undefined behavior it could cause sanitizers to fail.
Commit: ca38027c036593ae487ccef250ebd5133803bb55
https://github.com/llvm/llvm-project/commit/ca38027c036593ae487ccef250ebd5133803bb55
Author: Amy Huang <akhuang at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M libc/config/config.json
Log Message:
-----------
Revert "Turn LIBC_COPT_STRING_UNSAFE_WIDE_READ on by default" (#144167)
Reverts llvm/llvm-project#144163 because for some reason I didn't
realize there are ASan tests.
Commit: d7e64d9594d241d6a9186fadad2b0d40a8fba8a7
https://github.com/llvm/llvm-project/commit/d7e64d9594d241d6a9186fadad2b0d40a8fba8a7
Author: Florian Mayer <fmayer at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/X86/avx2-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512vl-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/x86-vpermi2.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx2-intrinsics-i386.ll
Log Message:
-----------
[MSAN] handle assorted AVX permutations (#143462)
Commit: 7f69cd578de899f8b00525a02d1fe25dab567bcf
https://github.com/llvm/llvm-project/commit/7f69cd578de899f8b00525a02d1fe25dab567bcf
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
Log Message:
-----------
[clang-doc] remove default label on some switches (#143919)
LLVM style prefers no default label on fully covered switches to warn if
new enums are added. This patch removes the default label for that
purpose or uses IT_default instead of default if that was the only enum
not covered.
Commit: 417ab37d85ad1bb3e5623dff487ef108404e37f5
https://github.com/llvm/llvm-project/commit/417ab37d85ad1bb3e5623dff487ef108404e37f5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstSimplify/ConstProp/vector-calls.ll
Log Message:
-----------
[ConstantFolding] Fold deinterleave2 of any splat vector not just zeroinitializer (#144144)
While there remove an unnecessary dyn_cast from Constant to Constant.
Reverse a branch condition into an early out to reduce nesting.
Commit: 15f100d1445846cdb55c24e588a74fde522fc9c9
https://github.com/llvm/llvm-project/commit/15f100d1445846cdb55c24e588a74fde522fc9c9
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/tblgen.bzl
Log Message:
-----------
[bazel] fix mlir/tblgen.bzl formatting after 6e988bd33f5fa8a529ef9208d3e147945b7bb7ed
Commit: bd319d9071fb0c6e1bda9db500d039d32a49c28a
https://github.com/llvm/llvm-project/commit/bd319d9071fb0c6e1bda9db500d039d32a49c28a
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/cmake/config-ix.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[Cygwin] CYGWIN is not WIN32 in current CMake (#143130)
On old CMake, Cygwin were also WIN32 but currently not. LLVM_ON_UNIX=1
and LLVM_HAVE_LINK_VERSION_SCRIPT=0 should be defined for Cygwin target.
Commit: e37707b1e85cfc07fe75fd6b7e5d41963c52a8ec
https://github.com/llvm/llvm-project/commit/e37707b1e85cfc07fe75fd6b7e5d41963c52a8ec
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
Log Message:
-----------
[RISCV] Use unsigned instead of uint16_t for the Opcode argument to getVectorLowDemandedScalarBits. NFC
All the callers pass an unsigned and uint16_t arguments are unusual.
Commit: d4c7d0be1f5235555393313bb1f8e46c97f76766
https://github.com/llvm/llvm-project/commit/d4c7d0be1f5235555393313bb1f8e46c97f76766
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/MC/MCObjectStreamer.cpp
Log Message:
-----------
MCObjectStreamer: Replace getAssemblerPtr with getAssembler
In general getAssemblerPtr should only be called by MCParse.
Revert some changes from https://reviews.llvm.org/D45164?id=143128
Commit: 709ba084c5632b786f2e6c503d3f9f27e1f1c433
https://github.com/llvm/llvm-project/commit/709ba084c5632b786f2e6c503d3f9f27e1f1c433
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Use RISCVII::getVecPolicyOpNum instead of making assumptions. NFC (#144175)
Commit: ef265ed23038a3719829a08fcbf7384fbdfe0451
https://github.com/llvm/llvm-project/commit/ef265ed23038a3719829a08fcbf7384fbdfe0451
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Simplify macros used by RISCVInstrInfo::convertToThreeAddress. NFC (#144173)
Merge some macros that are only used once by another macro.
Rename macros to remove _MF4 where not needed.
I suspect these are artifacts from FP being split from integer in the
past.
Commit: 35e3c50731870cc37a73ef1286a92f49347ccea4
https://github.com/llvm/llvm-project/commit/35e3c50731870cc37a73ef1286a92f49347ccea4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Simplify macros used for commuting vector multiply-accumulate instructions. NFC (#144169)
Inline some macros that were only instantiated once.
Remove unused macros.
#undef macros when finished with them
Commit: 0bd614a8ee11cfc5cee8719b3209f40b163d5a62
https://github.com/llvm/llvm-project/commit/0bd614a8ee11cfc5cee8719b3209f40b163d5a62
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/tools/llvm-shlib/CMakeLists.txt
Log Message:
-----------
[Cygwin] Don't use version script for Cygwin target (#143133)
Cygwin is a COFF platform and does not support version-script.
I guess I should use LLVM_HAVE_LINK_VERSION_SCRIPT here, but I don't
know why this is not currently the case.
Commit: 07fa6d1d90c714fa269529c3e5004a063d814c4a
https://github.com/llvm/llvm-project/commit/07fa6d1d90c714fa269529c3e5004a063d814c4a
Author: Konstantin Bogdanov <thevar1able at users.noreply.github.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
Log Message:
-----------
[InstCombine] Avoid folding `select(umin(X, Y), X)` with min/max values in false arm (#143020)
Fixes https://github.com/llvm/llvm-project/issues/139050.
This patch adds a check to avoid folding min/max reduction into select, which may block loop vectorization.
The issue is that the following snippet:
```
declare i8 @llvm.umin.i8(i8, i8)
define i8 @masked_min_fold_bug(i8 %acc, i8 %val, i8 %mask) {
; CHECK-LABEL: @masked_min_fold_bug(
; CHECK: %cond = icmp eq i8 %mask, 0
; CHECK: %masked_val = select i1 %cond, i8 %val, i8 255
; CHECK: call i8 @llvm.umin.i8(i8 %acc, i8 %masked_val)
;
%cond = icmp eq i8 %mask, 0
%masked_val = select i1 %cond, i8 %val, i8 255
%res = call i8 @llvm.umin.i8(i8 %acc, i8 %masked_val)
ret i8 %res
}
```
is being optimized to the following code, which can not be vectorized
later.
```
declare i8 @llvm.umin.i8(i8, i8) #0
define i8 @masked_min_fold_bug(i8 %acc, i8 %val, i8 %mask) {
%cond = icmp eq i8 %mask, 0
%1 = call i8 @llvm.umin.i8(i8 %acc, i8 %val)
%res = select i1 %cond, i8 %1, i8 %acc
ret i8 %res
}
attributes #0 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
```
Expected:
```
declare i8 @llvm.umin.i8(i8, i8) #0
define i8 @masked_min_fold_bug(i8 %acc, i8 %val, i8 %mask) {
%cond = icmp eq i8 %mask, 0
%masked_val = select i1 %cond, i8 %val, i8 -1
%res = call i8 @llvm.umin.i8(i8 %acc, i8 %masked_val)
ret i8 %res
}
attributes #0 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
```
https://godbolt.org/z/cYMheKE5r
Commit: 2796c412499a276ad23ae184daac33175c32424f
https://github.com/llvm/llvm-project/commit/2796c412499a276ad23ae184daac33175c32424f
Author: Kunqiu Chen <camsyn at foxmail.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M compiler-rt/test/msan/ifaddrs.cpp
M compiler-rt/test/msan/qsort.cpp
Log Message:
-----------
[MSan] Fix minor issues in testcases (#144073)
Previously,
1. ifaddrs.cpp : mistake `size_t (xxx)` as `sizeof (xxx)`, resulting in
inadequate checks.
2. qsort.cpp : mistake `kSize2` as `kSize1`, resulting in an unexpected
buffer overlow issue.
Commit: 2e7fbb94bc268d37996408a525781961989d8627
https://github.com/llvm/llvm-project/commit/2e7fbb94bc268d37996408a525781961989d8627
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in annotating braces (#144095)
Stop looking for function decls after hitting a BK_BracedInit brace.
Fixes #144057.
Commit: f46c44dbc0d225277178cf5b6646a96f591fdeaa
https://github.com/llvm/llvm-project/commit/f46c44dbc0d225277178cf5b6646a96f591fdeaa
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/ExceptionBaseclassCheck.cpp
M clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] change patterns 'anyOf(..., anything())' to 'optionally(...)' (#143558)
Writing `optionally()` instead of `anyOf(..., anything())` lowers code
size and gives the author's intention better.
Commit: 892513e51864f3e21120eab87c0c5a6aa37cae31
https://github.com/llvm/llvm-project/commit/892513e51864f3e21120eab87c0c5a6aa37cae31
Author: Zhikai Zeng <backlight.zzk at gmail.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/gh102293.cpp
Log Message:
-----------
[clang] fix infinite recursion (#143244)
fix https://github.com/llvm/llvm-project/issues/141789
The direct cause of infinite recursion is that `T` is changing from
`struct X` and `S<X>` infinitely, this pr add a check that if `T`
visited before then return false directly.
```plaintext
/home/backlight/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp:7196] FD->getType().getAsString()=struct X, T.getAsString()=S<X>, FD->getType().getCanonicalType().getUnqualifiedType().getAsString()=struct X, CanUnqualT.getAsString()=struct S<struct X>,
/home/backlight/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp:7196] FD->getType().getAsString()=S<X>, T.getAsString()=struct X, FD->getType().getCanonicalType().getUnqualifiedType().getAsString()=struct S<struct X>, CanUnqualT.getAsString()=struct X,
```
https://github.com/llvm/llvm-project/pull/104829 fix similar infinite
recursion, but I think it is no longer needed so I kind of revert it.
Commit: 732ebf803b80a8a3fc3aaaceb600cebdf659118e
https://github.com/llvm/llvm-project/commit/732ebf803b80a8a3fc3aaaceb600cebdf659118e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Address post-commit comments for f68848015f62.
Assign sentinel value to named variable to clarify naming and update
comments.
Addresses post-commit comments from
https://github.com/llvm/llvm-project/pull/142291.
Commit: 1bc0b08e19788f2b34f46b183e89f5049468da2a
https://github.com/llvm/llvm-project/commit/1bc0b08e19788f2b34f46b183e89f5049468da2a
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
CMake: Fix LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING to be 1 or 0.
It has been introduced in #107278 but it was passing
"DISABLED" of LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING to cmakedefine01.
cmakadefine01 treats non-false-like strings as 1.
"DISABLED" is replaced with 1.
Commit: 64640667871990e4d73ae6221b9c4f05d0b36ea6
https://github.com/llvm/llvm-project/commit/64640667871990e4d73ae6221b9c4f05d0b36ea6
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
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/CIRTypes.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
A clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/complex.cpp
A clang/test/CIR/Transforms/complex-create-fold.cir
Log Message:
-----------
[CIR] Upstream CreateOp for ComplexType with folder (#143192)
This change adds support for the create op for ComplexType with folder
and support for empty init list
https://github.com/llvm/llvm-project/issues/141365
Commit: 2cb32e29408a6c598072ea0f066a246957be69f9
https://github.com/llvm/llvm-project/commit/2cb32e29408a6c598072ea0f066a246957be69f9
Author: Ross Kirsling <rkirsling at gmail.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M clang/lib/Parse/ParseStmt.cpp
A clang/test/FixIt/fixit-punctuator-spelling.cpp
Log Message:
-----------
[Clang] Fix fix-it hint regression from #143460 (#144069)
Following #143460, `:` began displaying as `colon` in the fix-it hint
for a `case` with a missing colon, as is visible in the description of
(the separate bug) #144052.
This PR simply reverts a line that didn't need to be changed.
Commit: 42595d34bda74e0d6e3b6ec0cf253875330f9c42
https://github.com/llvm/llvm-project/commit/42595d34bda74e0d6e3b6ec0cf253875330f9c42
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M llvm/cmake/modules/FindFFI.cmake
Log Message:
-----------
[llvm] [cmake] Use pkg-config to obtain libffi search hints (#144221)
Extend `FindFFI.cmake` to include the paths obtained from pkg-config
when searching for libffi. This is going to help systems where libffi is
installed in nonstandard directory such as Gentoo, saving us from having
to copy the paths from pkg-config to `FFI_*` variables explicitly. The
logic is inspired by `FindLibEdit.cmake`.
Commit: ff295d2f3429a5a2a93b2c86099af40544f467d4
https://github.com/llvm/llvm-project/commit/ff295d2f3429a5a2a93b2c86099af40544f467d4
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M clang/include/clang/Sema/SemaOpenMP.h
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/declare_mapper_ast_print.c
M clang/test/OpenMP/declare_mapper_ast_print.cpp
Log Message:
-----------
[OpenMP][clang] declare mapper: fix handling of nested types (#143504)
Fix a crash that happened during parsing of a "declare mapper" construct
for a struct that contains an element for which we also declared a
custom default mapper.
Commit: 10bc17fc3676b82c7240046a948d2925dd2045d3
https://github.com/llvm/llvm-project/commit/10bc17fc3676b82c7240046a948d2925dd2045d3
Author: Tom Vijlbrief <tvijlbrief at gmail.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets/AVR.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M llvm/lib/Target/AVR/AVRDevices.td
Log Message:
-----------
[AVR] Add support for many new AVR MCUs (#143914)
fixes https://github.com/llvm/llvm-project/issues/116116
Commit: 62d8e001dac4b1a68f5b33c8784adba1335003f4
https://github.com/llvm/llvm-project/commit/62d8e001dac4b1a68f5b33c8784adba1335003f4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets/AVR.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M llvm/lib/Target/AVR/AVRDevices.td
Log Message:
-----------
Revert "[AVR] Add support for many new AVR MCUs (#143914)"
This reverts commit 10bc17fc3676b82c7240046a948d2925dd2045d3.
Multiple buildbot failures have been reported:
https://github.com/llvm/llvm-project/pull/143914
Commit: 72f99b75afc12bb15a7730544339bcc1ca11e8ee
https://github.com/llvm/llvm-project/commit/72f99b75afc12bb15a7730544339bcc1ca11e8ee
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-branch-weights.ll
Log Message:
-----------
[LV] Add test case with branch weights.
Add test case with branch weights where the vector loop can
be removed. Exposed a crash with db8d34db26e9
(https://github.com/llvm/llvm-project/pull/143035).
Commit: 577199f9221ebc805a69372a2b19f4c8ebaf1daf
https://github.com/llvm/llvm-project/commit/577199f9221ebc805a69372a2b19f4c8ebaf1daf
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
Log Message:
-----------
Reapply "[VPlan] Set branch weight metadata on middle term in VPlan (NFC) (#143035)"
This reverts commit 0604dc199c019b23746f4a54885ba0c75569cdae.
The recommitted version addresses post-commit comments and adjusts the
place the branch weights are added. It now runs before VPlans are optimized
for VF and UF, which may remove the vector loop region, causing a crash
trying to get the middle block after that. Test case added in
72f99b75afc12bb.
Original message:
Manage branch weights for the BranchOnCond in the middle block in VPlan.
This requires updating VPInstruction to inherit from VPIRMetadata, which
in general makes sense as there are a number of opcodes that could take
metadata.
There are other branches (part of the skeleton) that also need branch
weights adding.
PR: https://github.com/llvm/llvm-project/pull/143035
Commit: d6e25c4d21ebe20aaa6cbf6e2b9afde8f6713160
https://github.com/llvm/llvm-project/commit/d6e25c4d21ebe20aaa6cbf6e2b9afde8f6713160
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-int.ll
M llvm/test/CodeGen/RISCV/rvv/masked-load-int.ll
Log Message:
-----------
[SelectionDAG] Take passthru into account when widening ISD::MLOAD (#144170)
#140595 used vp.load in the cases where we need to widen masked.load.
However, we didn't account for the passthru operand so it might
miscompile when the passthru is not undef. While we can simply avoid
using vp.load to widen when passthru is not undef, doing so will ran
into the exact same crash described in #140198 , so for scalable vector,
this patch manually merges the vp.load result with passthru when the
latter is not undef.
Commit: db682a721aabf3c33dfda471bf6a7908fbf656b4
https://github.com/llvm/llvm-project/commit/db682a721aabf3c33dfda471bf6a7908fbf656b4
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M llvm/utils/UpdateTestChecks/asm.py
Log Message:
-----------
[utils] Add "aarch64-apple-macosx" triple to update_llc_test_checks.py (#144023)
Add a missing valid triple "aarch64-apple-macosx" for usability.
Commit: 0ff95c9eb1e3b0785724d3e33df1e1f77f2c7473
https://github.com/llvm/llvm-project/commit/0ff95c9eb1e3b0785724d3e33df1e1f77f2c7473
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang/include/clang/Basic/AttributeCommonInfo.h
A clang/include/clang/Basic/AttributeScopeInfo.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/Basic/Attributes.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/test/CXX/module/dcl.dcl/dcl.module/dcl.module.import/p1.cppm
A clang/test/FixIt/fixit-unknown-attributes.cpp
M clang/test/Parser/cxx11-base-spec-attributes.cpp
M clang/test/Parser/objcxx11-attributes.mm
M clang/test/Sema/unknown-attributes.c
M clang/test/SemaCXX/attr-non-x86-no_caller_saved_registers.cpp
Log Message:
-----------
[Clang] add fix-it hints for unknown attributes (#141305)
This patch adds fix-it hints for unknown attribute names when Clang
suggests a correction
Commit: 951ea8b681451ff2db8b895f1dcfe0fbc91d939a
https://github.com/llvm/llvm-project/commit/951ea8b681451ff2db8b895f1dcfe0fbc91d939a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
Log Message:
-----------
[mlir][nvvm][NFC] Fix typo in TargetAttr (#144159)
Commit: 4ed10db85919d3d87bf0b3353340b58354a75994
https://github.com/llvm/llvm-project/commit/4ed10db85919d3d87bf0b3353340b58354a75994
Author: Sam James <sam at gentoo.org>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang/CMakeLists.txt
Log Message:
-----------
[clang][cmake] Don't pass -fno-strict-aliasing for GCC
This was added a long time ago..
* to the Makefiles in 40fee6313df688d43d1f8bbe85bc35161689afca;
* first to CMake in b3ce035c7155644d5bced46c45ae5ac865b7aedc;
* then moved to only apply when building Clang with GCC in
c5635a6af7c643169f81145bfae8c895f2207792.
This shouldn't be needed these days. If an issue does arise, it really
ought to be documented better and the cause will certainly be different
than it was back then.
The two GCC bugs cited in 40fee6313df688d43d1f8bbe85bc35161689afca were:
* https://gcc.gnu.org/PR41874
* https://gcc.gnu.org/PR41838
and both are long-fixed. Not only that, if those issues did come up again,
we'd be better off doing -Wno-strict-aliasing where appropriate if there
weren't a real code issue or some suppression that was tighter in scope
wasn't appropriate.
Commit: 24c8d900c47edeefb85643a06bc32235d9f42ea3
https://github.com/llvm/llvm-project/commit/24c8d900c47edeefb85643a06bc32235d9f42ea3
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang/test/Driver/print-enabled-extensions/riscv-andes-a25.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-a45.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-ax25.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-ax45.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-n45.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-nx45.c
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/test/tools/llvm-mca/RISCV/Andes45/gpr.s
Log Message:
-----------
[RISCV] Remove B and Zbc extension from Andes series cpus. (#144022)
The Andes CPU is configurable with optional extensions. The minimal
required extension set does not include `B` and `Zbc` extensions. So we
decided to remove them.
Commit: a0c00ccd5ff180c721def8001c870338d5de319e
https://github.com/llvm/llvm-project/commit/a0c00ccd5ff180c721def8001c870338d5de319e
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__functional/reference_wrapper.h
M libcxx/test/std/containers/sequences/array/compare.three_way.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.const_ref.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap_const.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.const_ref.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap_const.pass.cpp
R libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/helper_concepts.h
R libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/helper_types.h
M libcxx/test/support/test_comparisons.h
M libcxx/test/support/test_container_comparisons.h
Log Message:
-----------
[libc++] P2944R3: Constrained comparisons - update `reference_wrapper` implementation (#139368)
Updates the implementation `std::reference_wrapper` -
[P2944R3](https://wg21.link/P2944R3) as discussed in
https://github.com/llvm/llvm-project/pull/117664#discussion_r1857826166
This PR also refactors the tests in preparation to implements the
constrained comparisons for `optional`, `variant` etc.
- Moves the test helpers (concepts and types) for testing constrained
comparisons to `test_comparisons.h`.
- Updates the `std::reference_wrapper` implementation to use the concept
`__core_convertible_to<bool>` as per comments in #135759.
Closes #138233
# References:
- [refwrap.comparisons](https://wg21.link/refwrap.comparisons)
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Co-authored-by: Nikolas Klauser <nikolasklauser at berlin.de>
Commit: c4ba734993ac7ca39cc101db62797aad3a2a265a
https://github.com/llvm/llvm-project/commit/c4ba734993ac7ca39cc101db62797aad3a2a265a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
Log Message:
-----------
[mlir] Compare std::optional<T> to values directly (NFC) (#144241)
This patch transforms:
X && *X == Y
to:
X == Y
where X is of std::optional<T>, and Y is of T or similar.
Commit: 84ff1bda2977e580265997ad2d4c47b18cd3bf9f
https://github.com/llvm/llvm-project/commit/84ff1bda2977e580265997ad2d4c47b18cd3bf9f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Use StringRef in a range-based for loop (NFC) (#144243)
When we iterate over std::vector<std::string>, we can directly assign
each element to StringRef. We do not need to go through a separate
statement.
Commit: 9e16792639242a86314e5d6531010953a0a96216
https://github.com/llvm/llvm-project/commit/9e16792639242a86314e5d6531010953a0a96216
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bzl] Add CAPIIndex rule. (#144248)
Commit: 149cb5c43c3a75ecb827b8b7ae853250c3c09449
https://github.com/llvm/llvm-project/commit/149cb5c43c3a75ecb827b8b7ae853250c3c09449
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/icmp-dom.ll
Log Message:
-----------
[ValueTracking] Infer `X | Y != 0` from `X != Y` (#117443)
Alive2: https://alive2.llvm.org/ce/z/cJ75Ya
Closes https://github.com/llvm/llvm-project/issues/117436.
Commit: 30a41a642358d0f427c3cbc0299ea48fbc0cf79e
https://github.com/llvm/llvm-project/commit/30a41a642358d0f427c3cbc0299ea48fbc0cf79e
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/div.ll
M llvm/test/Transforms/InstCombine/icmp-sub.ll
Log Message:
-----------
[ValueTracking] Add subtraction support for setLimitsForBinOp (#143618)
We can determine the range from a subtraction if it has nsw or nuw.
https://alive2.llvm.org/ce/z/tXAKVV
Commit: 48e54f3a225062b5d229e6fd3b06140f76c0613b
https://github.com/llvm/llvm-project/commit/48e54f3a225062b5d229e6fd3b06140f76c0613b
Author: David Green <david.green at arm.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/ARC/ARCTargetTransformInfo.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/BPF/BPFTargetTransformInfo.h
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/Lanai/LanaiTargetTransformInfo.h
M llvm/lib/Target/Mips/MipsTargetTransformInfo.h
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SPIRV/SPIRVTargetTransformInfo.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/VE/VETargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Target/XCore/XCoreTargetTransformInfo.h
Log Message:
-----------
[CostModel] Mark all TTIImpls as final. NFC (#143404)
In the AArch64 version this helps reduce the number of blr instruction
(indirect jumps) in from 325 to 87, and reduces the size of the object
file by 4%. It seems to help make the code more efficient even if it
doesn't greatly affect compile time.
The AMDGPU variants are already marked as final.
Commit: 89f692a24f6a13ae5cf9e37f91abe6f34c403258
https://github.com/llvm/llvm-project/commit/89f692a24f6a13ae5cf9e37f91abe6f34c403258
Author: David Green <david.green at arm.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
Log Message:
-----------
[GlobalISel] Split Legalizer debug ouput into paragraphs. NFC (#143427)
This helps keep the legalizer output easier to read, splitting each
instructions legalization into a separate block.
Commit: 147a4c7743c44af3537bae69dcf513153b03b00e
https://github.com/llvm/llvm-project/commit/147a4c7743c44af3537bae69dcf513153b03b00e
Author: Chris Apple <cja-private at pm.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[rtsan] Fix issue where close test would lead to crash (#144017)
Commit: b983431c281a0acb9e446c7c9d72474f4d09e8e0
https://github.com/llvm/llvm-project/commit/b983431c281a0acb9e446c7c9d72474f4d09e8e0
Author: Chris Apple <cja-private at pm.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M compiler-rt/test/rtsan/fork_exec.cpp
Log Message:
-----------
[rtsan] Fix issue when intercepted function was not execve in test (#144018)
Commit: 567647888ea3dd292827bbac445d316d6a6b0ecb
https://github.com/llvm/llvm-project/commit/567647888ea3dd292827bbac445d316d6a6b0ecb
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/cxx17.cpp
Log Message:
-----------
[clang][bytecode] Avoid revisiting decomposition decl in visitDeclRef (#144226)
This simple patch removes the code to revisit `DecompositionDecl` in
`visitDeclRef`. The revisit will try to emit the initializer of the
`DecompositionDecl`, which could result in evaluation errors if the
`DecompositionDecl` is not within a constexpr context.
Commit: 886174a835208ecd2d06b378d2094b10611030d5
https://github.com/llvm/llvm-project/commit/886174a835208ecd2d06b378d2094b10611030d5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/avx512-shuffles/shuffle-blend.ll
Log Message:
-----------
[X86] shuffle-blend.ll - regenerate test checks
Commit: 2669664605d00e1b3a9c479545b95a6844786d0c
https://github.com/llvm/llvm-project/commit/2669664605d00e1b3a9c479545b95a6844786d0c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang-tools-extra/modularize/CoverageChecker.cpp
M clang-tools-extra/modularize/Modularize.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
Log Message:
-----------
[modularize] Use range-based for loops (NFC) (#144244)
Commit: fef5df9d843745b2c4ed163911ed1305028350ca
https://github.com/llvm/llvm-project/commit/fef5df9d843745b2c4ed163911ed1305028350ca
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
Log Message:
-----------
[TableGen] Use range-based for loops (NFC) (#144250)
Commit: d78eec864c60729685487c884724f27edd53b3b8
https://github.com/llvm/llvm-project/commit/d78eec864c60729685487c884724f27edd53b3b8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M lld/ELF/Arch/ARM.cpp
M lld/ELF/SyntheticSections.cpp
M lld/MachO/SyntheticSections.cpp
M lld/wasm/Driver.cpp
Log Message:
-----------
[lld] Use range-based for loops (NFC) (#144251)
Commit: 8f5c338b89a22abc3191a0d931071c09630d6195
https://github.com/llvm/llvm-project/commit/8f5c338b89a22abc3191a0d931071c09630d6195
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[Sema] Use a range-based for loop (NFC) (#144252)
Note that LLVM Coding Standards discourages for_each.
Commit: b16d43a874748a496da5cd774dd864c95b78d6b0
https://github.com/llvm/llvm-project/commit/b16d43a874748a496da5cd774dd864c95b78d6b0
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCAsmInfo.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCCodeEmitter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h
M llvm/lib/Target/VE/VEAsmPrinter.cpp
M llvm/lib/Target/VE/VEISelLowering.cpp
Log Message:
-----------
VE: Rename VEMCExpr::VK_ to VE::S_
Prepare for removing VEMCExpr. Adopt the newer naming convention adopted
by AMDGPU/WebAssembly.
Commit: df54a2d9357fe7f56ca3c6fa2f07889449b50325
https://github.com/llvm/llvm-project/commit/df54a2d9357fe7f56ca3c6fa2f07889449b50325
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Only skip induction phis in planContainsAdditionalSimps (NFC).
Skip induction phis when checking for simplifications, as they may not
be lowered directly be lowered to a corresponding PHI recipe. Reductions
and first-order recurrences will get lowered to phi recipes, unless they
are removed. Considering them for simplifications allows removing them
if there are no remaining users.
NFC as currently reduction and recurrence phis are not
simplified/removed if dead.
Commit: 254a92d49a4c1e1f7f747b1c2f1ccbfd7f217880
https://github.com/llvm/llvm-project/commit/254a92d49a4c1e1f7f747b1c2f1ccbfd7f217880
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
M llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp
Log Message:
-----------
MC: Add MCSpecifierExpr::create
as a target-agnostic implementation to replace target-specific
XXXMCExpr::create.
Commit: 72de33a406383cb8555234c40e7b31db593e164f
https://github.com/llvm/llvm-project/commit/72de33a406383cb8555234c40e7b31db593e164f
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/lib/MC/MCAsmInfo.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCAsmInfo.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCAsmInfo.h
M llvm/lib/Target/VE/MCTargetDesc/VEMCCodeEmitter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h
M llvm/lib/Target/VE/VEAsmPrinter.cpp
M llvm/lib/Target/VE/VEMCInstLower.cpp
Log Message:
-----------
MC: Add MCAsmInfo::evaluateAsRelocatableImpl and replace VEMCExpr with MCSpecifierExpr
Expressions with specifier can only be folded during relocation
generatin. At parse time the `MCAssembler *` argument might be null, and
targets should not rely on the evaluateAsRelocatable result.
Therefore, we can move evaluateAsRelocatableImpl from MCSpecifierExpr to
MCAsmInfo, so that targets do not need to inherit from MCSpecifierExpr.
Commit: 490d7bb89a029edd037ed5e46747d0085a649ee8
https://github.com/llvm/llvm-project/commit/490d7bb89a029edd037ed5e46747d0085a649ee8
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/lib/Target/Xtensa/XtensaAsmPrinter.cpp
Log Message:
-----------
Xtensa: Remove unneeded XtensaMCExpr::create calls
MCSpecifierExpr and its subclasses should only be used with the
relocation specifier is not zero.
Commit: cf9665dd2bcef3ff2f3e22d3f44e8603f4ba9577
https://github.com/llvm/llvm-project/commit/cf9665dd2bcef3ff2f3e22d3f44e8603f4ba9577
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/Xtensa/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCAsmInfo.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCAsmInfo.h
R llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.h
M llvm/lib/Target/Xtensa/XtensaAsmPrinter.cpp
Log Message:
-----------
Xtensa: Migrate to newer relocation specifier representation
* Rename specifier constants from XtensaMCExpr::Specifier::VK_ to
Xtensa::S_, following Sparc and VE.
* Use MCAsmInfo::printSpecifierExpr instead of MCExpr::print.
* Remove unneeded XtensaMCExpr. Just use MCSpecifierExpr when a
specifier is needed.
Commit: 7c22612b2948d8657b4a22ce59870ddd708c4677
https://github.com/llvm/llvm-project/commit/7c22612b2948d8657b4a22ce59870ddd708c4677
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
Log Message:
-----------
SPARC: Remove dead specifier code from asm operand printer
We don't currently print %specifier( ) for asm operands.
The old code was also incorrect - as it did not print "(".
Commit: d3e9e2d433a666d6620afb00a1533ef4937c667f
https://github.com/llvm/llvm-project/commit/d3e9e2d433a666d6620afb00a1533ef4937c667f
Author: Ross Kirsling <ross.kirsling at sony.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
Log Message:
-----------
[Clang] Fix typo in is_replaceable diagnostic (#144247)
Adjustment to #143265; `because it not` should be `because it is not`.
Commit: 5cf138a68744904562e81436181df668b00cdb1f
https://github.com/llvm/llvm-project/commit/5cf138a68744904562e81436181df668b00cdb1f
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/M68k/M68kMCInstLower.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kELFObjectWriter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCAsmInfo.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.h
Log Message:
-----------
M68k: Replace M68kMCExpr::VK_ to M68k::S_
Prepare for removing VEMCExpr. Adopt the newer naming convention adopted
by AMDGPU/WebAssembly/VE.
Commit: 444c6ae530e4814af2cfd6918e3f852ef14ff50d
https://github.com/llvm/llvm-project/commit/444c6ae530e4814af2cfd6918e3f852ef14ff50d
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/M68k/M68kMCInstLower.cpp
M llvm/lib/Target/M68k/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/M68k/MCTargetDesc/M68kELFObjectWriter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCAsmInfo.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCAsmInfo.h
R llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.cpp
R llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.h
Log Message:
-----------
M68k: Remove M68kMCExpr
Commit: b839632bf44f56e6f17777857f4b23d4eccb6f33
https://github.com/llvm/llvm-project/commit/b839632bf44f56e6f17777857f4b23d4eccb6f33
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.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/PPCMCInstLower.cpp
M llvm/lib/Target/PowerPC/PPCTargetObjectFile.cpp
Log Message:
-----------
PowerPC: Rename PPCMCExpr::VK_ to PPC::S_
Prepare for removing PPCMCExpr. Adopt the newer naming convention with
AMDGPU/WebAssembly/VE/M68k.
Commit: a8d76acdd88b25a98e50ac2da9e6f311fc2c2cb8
https://github.com/llvm/llvm-project/commit/a8d76acdd88b25a98e50ac2da9e6f311fc2c2cb8
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
Log Message:
-----------
PowerPC: Replace MCExpr::print with MCAsmInfo::printExpr
Follow-up to 18b67a7a102c0052e5ae0e76ef1297902ffeb22d
Commit: 087a6ac420ad99c523b9dd517351e0c6d1f1a980
https://github.com/llvm/llvm-project/commit/087a6ac420ad99c523b9dd517351e0c6d1f1a980
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
Log Message:
-----------
[LV] Add users to some first-order recurrence tests.
Add extra users to ensure the recurrence cannot be DCE'd.
Also re-generates some checks.
Commit: 790df93298b3ad6c57dafb55fc6d18bddff16c4a
https://github.com/llvm/llvm-project/commit/790df93298b3ad6c57dafb55fc6d18bddff16c4a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/pr131359-dead-for-splice.ll
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
Log Message:
-----------
[VPlan] Mark VPFirstOrderRecurrencePHI as not reading/writing memory.
First-order recurrence phis don't have side-effects and don't read or
write memory. Mark them as such.
Commit: f4a63523b88631e224496435bea0940ac05897bf
https://github.com/llvm/llvm-project/commit/f4a63523b88631e224496435bea0940ac05897bf
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
Log Message:
-----------
PowerPC: Migrate to newer relocation specifier representation
* Use MCAsmInfo::printSpecifierExpr instead of MCExpr::print.
* Replace PPCMCExpr with MCSpecifierExpr.
Commit: 34c85ed2bc1adfa375745db6de7f62d350a8f768
https://github.com/llvm/llvm-project/commit/34c85ed2bc1adfa375745db6de7f62d350a8f768
Author: Vladimir Vuksanovic <109677816+vvuksanovic at users.noreply.github.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
A clang-tools-extra/test/clang-reorder-fields/MacroExpansionField.cpp
Log Message:
-----------
[clang-reorder-fields] Use expanded location for macros (#142147)
Fixes macros being replaced instead of their expansion.
Closes #52632
Commit: e448c3e5fc2ab4244356e29c9c9135b6ccf5f6ff
https://github.com/llvm/llvm-project/commit/e448c3e5fc2ab4244356e29c9c9135b6ccf5f6ff
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchInstPrinter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCAsmInfo.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCAsmInfo.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
Log Message:
-----------
LoongArch: Migrate to MCAsmInfo::printExpr
Commit: e3025c95090f74b26e36106d2aa394b213f713a1
https://github.com/llvm/llvm-project/commit/e3025c95090f74b26e36106d2aa394b213f713a1
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
Log Message:
-----------
RISCV: Rename RISCVMCExpr::VK_ to RISCV::S_
Prepare for removing RISCVMCExpr. Adopt the newer naming convention (S_)
used by AMDGPU/WebAssembly/VE/M68k/PowerPC.
Commit: 4635b6076dc1933b7ebd9fcca9f22ec93e2f9c0c
https://github.com/llvm/llvm-project/commit/4635b6076dc1933b7ebd9fcca9f22ec93e2f9c0c
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
Log Message:
-----------
RISCV: Rename RISCVMCExpr::VK_ to RISCV::S_
Commit: fedf6c68ddfb43730578837aad394afcd97fe65a
https://github.com/llvm/llvm-project/commit/fedf6c68ddfb43730578837aad394afcd97fe65a
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
Log Message:
-----------
RISCV: Move RISCVMCExpr functions to RISCVMCAsmInfo or RISCVMCAsmBackend
* Move getPCRelHiFixup closer to the only caller RISCVAsmBackend::evaluateTargetFixup.
* Declare getSpecifierForName in RISCVMCAsmInfo, in align with other
targets that have migrated to the new relocation specifier representation.
Commit: 51b63bbee56c2253643f41c53bc3592af261b82d
https://github.com/llvm/llvm-project/commit/51b63bbee56c2253643f41c53bc3592af261b82d
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
Log Message:
-----------
RISCV: Replace MCExpr::print with MCAsmInfo::printExpr
Follow-up to 18b67a7a102c0052e5ae0e76ef1297902ffeb22d
Commit: f11dd116e0aa8cf35bdb82dba0a3a926538c05c2
https://github.com/llvm/llvm-project/commit/f11dd116e0aa8cf35bdb82dba0a3a926538c05c2
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
R llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
Log Message:
-----------
RISCV: Replace RISCVMCExpr with MCSpecifierExpr
Commit: 489dcc9e5233b52152272e6e5377784a56a12f1d
https://github.com/llvm/llvm-project/commit/489dcc9e5233b52152272e6e5377784a56a12f1d
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
Log Message:
-----------
AArch64: Replace MCExpr::print with MCAsmInfo::printExpr
Follow-up to 18b67a7a102c0052e5ae0e76ef1297902ffeb22d
Commit: 9a87c94622863cf712c6ab432931dfdb704fae3e
https://github.com/llvm/llvm-project/commit/9a87c94622863cf712c6ab432931dfdb704fae3e
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
Log Message:
-----------
MIPS: Replace MCExpr::print with MCAsmInfo::printExpr
Commit: 81d8c89da056a7751f6c7714fccb30c071dbc31a
https://github.com/llvm/llvm-project/commit/81d8c89da056a7751f6c7714fccb30c071dbc31a
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/M68k/MCTargetDesc/M68kInstPrinter.cpp
Log Message:
-----------
M68k: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
Follow-up to 18b67a7a102c0052e5ae0e76ef1297902ffeb22d
Commit: 95acd6199f3799da00e45b62fd1045ece7142cad
https://github.com/llvm/llvm-project/commit/95acd6199f3799da00e45b62fd1045ece7142cad
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/R600InstPrinter.cpp
Log Message:
-----------
AMDGPU: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
Commit: 0894094efdfb1ff4f93f818cef9f2aec9c1ea1a8
https://github.com/llvm/llvm-project/commit/0894094efdfb1ff4f93f818cef9f2aec9c1ea1a8
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
Log Message:
-----------
X86: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
Commit: dcb8cd8ecdd74eb2ceca2365e0fb4c9545e3cd97
https://github.com/llvm/llvm-project/commit/dcb8cd8ecdd74eb2ceca2365e0fb4c9545e3cd97
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
Log Message:
-----------
ARM: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
Commit: a7e5de472314a891604abee390beb8af5493b29a
https://github.com/llvm/llvm-project/commit/a7e5de472314a891604abee390beb8af5493b29a
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.cpp
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
Log Message:
-----------
SystemZ: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
Commit: dca2b261d77a9b758587b660e5b88b6a312d057c
https://github.com/llvm/llvm-project/commit/dca2b261d77a9b758587b660e5b88b6a312d057c
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.cpp
Log Message:
-----------
Lanai: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
Commit: 178fac3d61aa7fc4eb9e4a3d385ae02e660c0d3a
https://github.com/llvm/llvm-project/commit/178fac3d61aa7fc4eb9e4a3d385ae02e660c0d3a
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.cpp
Log Message:
-----------
Hexagon: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
Commit: 22ad0359f9006f47a1707170896f359abbd6e10d
https://github.com/llvm/llvm-project/commit/22ad0359f9006f47a1707170896f359abbd6e10d
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXMCExpr.cpp
Log Message:
-----------
NVPTX: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
Commit: c9d511bc642fbf612014eee4749ad7ee2646af32
https://github.com/llvm/llvm-project/commit/c9d511bc642fbf612014eee4749ad7ee2646af32
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M bolt/lib/Passes/RetpolineInsertion.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
Log Message:
-----------
Replace deprecated MCExpr::print with MCAsmInfo::printExpr
Commit: d793168e3b1a0343debfdfe143d7fb4127f9038c
https://github.com/llvm/llvm-project/commit/d793168e3b1a0343debfdfe143d7fb4127f9038c
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsMCInstLower.cpp
M llvm/lib/Target/Mips/MipsTargetObjectFile.cpp
Log Message:
-----------
MIPS: Rename MipsMCExpr::MEK_ to Mips::S_
Prepare for removing MipsMCExpr. Adopt the newer naming convention (S_)
used by AMDGPU/WebAssembly/VE/M68k/PowerPC/LoongArch/RISCV.
Commit: ad94f77a6a0c421e1f5815d1b8e5aa86d8dd2e92
https://github.com/llvm/llvm-project/commit/ad94f77a6a0c421e1f5815d1b8e5aa86d8dd2e92
Author: Tom Vijlbrief <tvijlbrief at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets/AVR.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/test/Misc/target-invalid-cpu-note/avr.c
M llvm/lib/Target/AVR/AVRDevices.td
Log Message:
-----------
[AVR] Add many new AVR MCU model definitions (#144229)
1. Added the missing XMEGA2 definition. The avr64 devices use xmega2 which has SPM(X) defined.
2. The avr16/avr32 devices do have SPM and SPMX features, but the current xmega3 definition has not.
Xmega3 is also used for modern attiny series which do not have SPM(X), so that is correct.
Leave the avr16/avr32 devices unchanged (using xmega3 to be in sync with gcc definitions).
Fixes https://github.com/llvm/llvm-project/issues/116116
Commit: 1506ba95d7c3dca1abff0190550945f6cc263a99
https://github.com/llvm/llvm-project/commit/1506ba95d7c3dca1abff0190550945f6cc263a99
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
Log Message:
-----------
[clang-format][NFC] Clean up DisallowLineBreaks lambda (#144255)
See also
https://github.com/llvm/llvm-project/pull/141576/files#r2141808121
Commit: f23b841f0fa7576b90fe226e66192b861a8cf1cf
https://github.com/llvm/llvm-project/commit/f23b841f0fa7576b90fe226e66192b861a8cf1cf
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
Log Message:
-----------
MIPS: Move MipsMCExpr functions to MipsMCAsmInfo
Commit: ba7369c49c6f638a4ce6f6be3acbdab5e0b5f418
https://github.com/llvm/llvm-project/commit/ba7369c49c6f638a4ce6f6be3acbdab5e0b5f418
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
R lld/test/wasm/lto/Inputs/libcall-return-addr.ll
R lld/test/wasm/lto/libcall-return-addr.ll
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
Log Message:
-----------
WebAssembly: Move runtime libcall setting out of TargetLowering (#142624)
RuntimeLibcallInfo needs to be correct outside of codegen contexts.
Commit: 993c158a30b9ddc881e55efcd33e33abc10f3a5c
https://github.com/llvm/llvm-project/commit/993c158a30b9ddc881e55efcd33e33abc10f3a5c
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h
M llvm/lib/Target/Mips/MipsMCInstLower.cpp
M llvm/lib/Target/Mips/MipsMCInstLower.h
Log Message:
-----------
MIPS: Reduce MipsMCExpr uses
Commit: cf679e66fade71220535775cca895628bf7692af
https://github.com/llvm/llvm-project/commit/cf679e66fade71220535775cca895628bf7692af
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.h
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZMCInstLower.cpp
M llvm/lib/Target/SystemZ/SystemZTargetObjectFile.cpp
Log Message:
-----------
SystemZ: Rename SystemZMCExpr::VK_ to SystemZ::S_
Prepare for removing SystemZMCExpr. Adopt the newer naming convention
used by most other targets.
Commit: d64ee2cd4fe488b6dc21e7a8173fbb9cf3610ba0
https://github.com/llvm/llvm-project/commit/d64ee2cd4fe488b6dc21e7a8173fbb9cf3610ba0
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Log Message:
-----------
[RISCV] Add GetVTypeMinimalPredicates for the operation supported by zvfhmin. NFC. (#143847)
This patch adds a new `GetVTypeMinimalPredicates` for `f16` operation
supported by `Zvfhmin`. Split the type predicates for minimal support
and full compute support. This is a refactor patch for implementing
vector compute support for bf16 (Zvfbfa), that we can check `bf16` type
whether with `Zvfbfa` extension in `GetVTypePredicates`.
Commit: b591f6dad4079401fadc4a516b32d3900b7946de
https://github.com/llvm/llvm-project/commit/b591f6dad4079401fadc4a516b32d3900b7946de
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.h
R llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.cpp
R llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.h
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZMCInstLower.cpp
M llvm/lib/Target/SystemZ/SystemZMCInstLower.h
Log Message:
-----------
SystemZ: Migrate to newer relocation specifier representation
z/OS creates SystemZMCExpr objects (https://reviews.llvm.org/D153788)
while ELF doesn't. Define the SystemZMCAsmInfoGOFF hooks
instead of the legacy MCSpecifierExpr:: hooks.
Commit: 167223f8c2c2350a3de9478355885c63b35ca6a9
https://github.com/llvm/llvm-project/commit/167223f8c2c2350a3de9478355885c63b35ca6a9
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/SystemZ/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn build] Port b591f6dad407
Commit: 9adde28df784f5c0cc960bdabd413ac131a5852e
https://github.com/llvm/llvm-project/commit/9adde28df784f5c0cc960bdabd413ac131a5852e
Author: Ming-Yi Lai <ming-yi.lai at mediatek.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/test/ELF/riscv-feature-zicfilp-func-sig.s
M lld/test/ELF/riscv-feature-zicfilp-unlabeled.s
M lld/test/ELF/riscv-feature-zicfiss.s
Log Message:
-----------
[LLD][ELF][RISCV][Zicfilp][Zicfiss] Support `-z zicfilp=` and `-z zicfiss=` to force enable/disable features (#143114)
+ If `-z zicfilp=implicit` or option not specified, the output would
have the ZICFILP feature enabled/disabled based on input objects
+ If `-z zicfilp=<never|unlabeled|func-sig>`, the output would have
ZICFILP feature forced <off|on to the "unlabeled" scheme|on to the
"func-sig" scheme>
+ If `-z zicfiss=implicit` or option not specified, the output would
have the ZICFISS feature enabled/disabled based on input objects
+ If `-z zicfiss=<never|always>`, the output would have the ZICFISS
feature forced <off|on>
Commit: f71fb2dc01e117481f56e040c25391883d43c1c5
https://github.com/llvm/llvm-project/commit/f71fb2dc01e117481f56e040c25391883d43c1c5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Tooling/ArgumentsAdjusters.cpp
Log Message:
-----------
[clang] Use StringRef in range-based for loops (NFC) (#144242)
When we iterate over std::vector<std::string>, we can directly assign
each element to StringRef. We do not need to go through separate
statements.
Commit: 7a4a83b551eaf159ce10b612def3be62d80706d4
https://github.com/llvm/llvm-project/commit/7a4a83b551eaf159ce10b612def3be62d80706d4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
M llvm/utils/TableGen/Common/CodeGenInstruction.h
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/Common/DAGISelMatcher.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/TableGen/X86DisassemblerTables.cpp
Log Message:
-----------
[TableGen] Use range-based for loops (NFC) (#144283)
Commit: c01532177ff61a768d5dc1ea541f9a8d986497fa
https://github.com/llvm/llvm-project/commit/c01532177ff61a768d5dc1ea541f9a8d986497fa
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Edit/EditedSource.cpp
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/InstallAPI/DiagnosticBuilderWrappers.cpp
M clang/lib/InstallAPI/DirectoryScanner.cpp
M clang/lib/InstallAPI/FileList.cpp
M clang/lib/InstallAPI/Frontend.cpp
M clang/lib/InstallAPI/Visitor.cpp
M clang/lib/Interpreter/InterpreterValuePrinter.cpp
M clang/lib/Interpreter/Value.cpp
M clang/lib/Lex/HeaderMap.cpp
M clang/lib/Rewrite/HTMLRewrite.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
Log Message:
-----------
[clang] Remove unused includes (NFC) (#144285)
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: cab09e76e0c4c95f44cf90bf2bf7a6eaa15b14b2
https://github.com/llvm/llvm-project/commit/cab09e76e0c4c95f44cf90bf2bf7a6eaa15b14b2
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/double-float-shrink-2.ll
M llvm/test/Transforms/InstCombine/fabs.ll
M llvm/test/Transforms/InstCombine/fpcast.ll
Log Message:
-----------
[InstCombine] Propagate FMF from fptrunc when folding `fptrunc fabs(X) -> fabs(fptrunc X)` (#143352)
Alive2: https://alive2.llvm.org/ce/z/DWV3G3
fptrunc yields infinity when the input cannot fit in the target type. So
ninf should be propagated from fptrunc. For other intrinsics, the
previous check ensures that the result is never an infinity:
https://github.com/llvm/llvm-project/blob/5d3899d293e902124c3602b466031b6b799fb123/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp#L1910-L1917
Closes https://github.com/llvm/llvm-project/issues/143122.
Commit: e2afda6fc95ef63b54d449fc1a9eb13cd0ff3639
https://github.com/llvm/llvm-project/commit/e2afda6fc95ef63b54d449fc1a9eb13cd0ff3639
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Basic/riscv_vector_common.td
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vrgatherei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vslidedown.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vslideup.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vrgatherei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vslidedown.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vslideup.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vrgatherei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vslidedown.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vslideup.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vrgatherei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vslidedown.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vslideup.c
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/rvv/vrgatherei16.ll
M llvm/test/CodeGen/RISCV/rvv/vslidedown.ll
M llvm/test/CodeGen/RISCV/rvv/vslideup.ll
Log Message:
-----------
[RISCV] Fix incorrect predicates for fp16 permutation intrinsics (#144063)
vrgatherei16, vslideup and vslidedown should be supported with fp16 type
for Zvfhmin.
Fixes https://github.com/llvm/llvm-project/issues/143975.
Commit: 29fcad000ca63078d28dd231e0727b7811df43b0
https://github.com/llvm/llvm-project/commit/29fcad000ca63078d28dd231e0727b7811df43b0
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.cpp
Log Message:
-----------
AVR: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
Commit: f8e0518120cd2850a7f674322bf428bc7d7d3326
https://github.com/llvm/llvm-project/commit/f8e0518120cd2850a7f674322bf428bc7d7d3326
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCInst.cpp
M llvm/test/CodeGen/Mips/llvm-ir/fptosi.ll
M llvm/test/CodeGen/Mips/llvm-ir/load.ll
M llvm/test/CodeGen/Mips/llvm-ir/store.ll
M llvm/test/MC/Lanai/conditional_inst.s
M llvm/test/MC/Lanai/memory.s
Log Message:
-----------
MC: Adjust -show-inst output for MCExpr
This dump feature does not pass MCAsmInfo to the printer function.
When we remove MCSpecifierExpr subclasses (and the printImpl overrides),
we will not be able to print target-specific specifier strings.
Just print a textual representation.
Commit: 05a9ad977624c4f6def7c0f4cf7103e28d6c6541
https://github.com/llvm/llvm-project/commit/05a9ad977624c4f6def7c0f4cf7103e28d6c6541
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
M llvm/lib/Target/Lanai/LanaiMCInstLower.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.h
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCCodeEmitter.cpp
R llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.cpp
R llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.h
Log Message:
-----------
Lanai: Migrate to the new relocation specifier representation
Use MCSpecifierExpr directly and remove the LanaiMCExpr subclass. Define
MCSpecifierExpr::printImpl to print the relocation specifier in decimal
for llvm-mc -show-inst. The output is not guaranteed to be stable.
Depends on f8e0518120cd2850a7f674322bf428bc7d7d3326
("MC: Adjust -show-inst output for MCExpr")
Commit: 945b12f6c823c49336a878e7afe2a96e4d3382ea
https://github.com/llvm/llvm-project/commit/945b12f6c823c49336a878e7afe2a96e4d3382ea
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Lanai/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn build] Port 05a9ad977624
Commit: 4ea616d072d126a31149174ca2efdbdace9ce568
https://github.com/llvm/llvm-project/commit/4ea616d072d126a31149174ca2efdbdace9ce568
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
Log Message:
-----------
AArch64: Move AArch64MCExpr functions to AArch64MCAsmInfo
To migrate away from the legacy
XXXMCExpr::printImpl/evaluateAsRelocatableImpl overrides and align with
other targets.
While the AArch64MCAsmInfoXXX hooks introduce some duplication, they
enable better separation for object file formats.
Commit: 4f9e6bad8438f4440bfd68be2f0ebdca0d588d47
https://github.com/llvm/llvm-project/commit/4f9e6bad8438f4440bfd68be2f0ebdca0d588d47
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Fix calling operator new with nothrow/align parameter (#144271)
Discard all the parameters we don't care about.
Commit: f3021e79fd5a4cab5537f37df2e6010a325d0a7c
https://github.com/llvm/llvm-project/commit/f3021e79fd5a4cab5537f37df2e6010a325d0a7c
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMMCInstLower.cpp
M llvm/lib/Target/ARM/ARMTargetObjectFile.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h
Log Message:
-----------
ARM: Rename ARMMCExpr::VK_ to ARM::S_
Prepare for removing ARMMCExpr. Adopt the new naming convention (S_
instead of VK_; the relocation specifier was previously named
`VariantKind`)) used by most other targets.
Make ARMMCAsmInfo.h include ARMMCExpr.h and change .cpp files to include
ARMMCAsmInfo.h. We will eventually remove ARMMCExpr.h.
Commit: 7efc861ec45e05be9dae59fc7483a98510066160
https://github.com/llvm/llvm-project/commit/7efc861ec45e05be9dae59fc7483a98510066160
Author: David Green <david.green at arm.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/fdiv-combine.ll
Log Message:
-----------
[AArch64][GlobalISel] Add test coverage for fdiv-combine.ll. NFC
Commit: f875efe1d82d920790e368f9ab2b31f173a523e1
https://github.com/llvm/llvm-project/commit/f875efe1d82d920790e368f9ab2b31f173a523e1
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Use `GetVTypeMinimalPredicates` instead of `GetVTypePredicates` for vrgatherei16/vslideup/vslidedown. NFC.
Commit: 7d9a451d875368baece310ca7226e3adbc00e1bf
https://github.com/llvm/llvm-project/commit/7d9a451d875368baece310ca7226e3adbc00e1bf
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/docs/RISCVUsage.rst
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcilsm-invalid.s
Log Message:
-----------
[RISCV] Change input register type for QC_SWM and QC_SWMI (#144294)
Version 0.13 of the `Xqci` spec changes the register type of input
operand `rs3` from `GPR` to `GPRNoX0` for these two instructions.
The spec can be found at
https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.13.0
Commit: 222ab28a9240e03479341cba2f487b8350635fce
https://github.com/llvm/llvm-project/commit/222ab28a9240e03479341cba2f487b8350635fce
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.def
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
A llvm/test/CodeGen/AArch64/arm64ec-builtins.ll
Log Message:
-----------
[aarch64] Fix Arm64EC libcall lowering after recent refactoring. (#143977)
The refactored code accidentally tokenized a string instead of just
concatenating it.
Add a regression test and some assertions to ensure consistency.
Fixes #143890 .
Commit: 9fcd14d9b013d0c4b8ec245772b3be3d5c31b885
https://github.com/llvm/llvm-project/commit/9fcd14d9b013d0c4b8ec245772b3be3d5c31b885
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M mlir/docs/DefiningDialects/Constraints.md
M mlir/include/mlir/IR/Constraints.td
A mlir/test/mlir-tblgen/attr-constraints.td
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
Log Message:
-----------
[MLIR][ODS] Optionally generate public C++ functions for attribute constraints (#144275)
Add `gen-attr-constraint-decls` and `gen-attr-constraint-defs`, which
generate public C++ functions for attribute constraints. The name of the C++
function is specified in the `cppFunctionName` field.
This generalize `cppFunctionName` from `TypeConstraint` introduced in
https://github.com/llvm/llvm-project/pull/104577 to be usable also in `AttrConstraint`.
Commit: 0bb4d9c30207c4a69731e6848ba7cb6ef52b5906
https://github.com/llvm/llvm-project/commit/0bb4d9c30207c4a69731e6848ba7cb6ef52b5906
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMMCInstLower.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
R llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.cpp
R llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachORelocationInfo.cpp
M llvm/lib/Target/ARM/MCTargetDesc/CMakeLists.txt
M llvm/utils/gn/secondary/llvm/lib/Target/ARM/MCTargetDesc/BUILD.gn
Log Message:
-----------
ARM: Migrate to the new relocation specifier representation
Use MCSpecifierExpr directly and remove the ARMMCExpr subclass. Define
printImpl and evaluateAsRelocationImpl within ARM*MCAsmInfo classes.
While there is some duplication, it enables better separation for
object file formats.
Commit: ee2d7a6975f37c11bffbf3207879696aca7fcc65
https://github.com/llvm/llvm-project/commit/ee2d7a6975f37c11bffbf3207879696aca7fcc65
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
Log Message:
-----------
MIPS: Remove unneeded printImpl
Follow-up to 05a9ad977624c4f6def7c0f4cf7103e28d6c6541
Commit: 4e0dd007ac6a7b7e0a284062b61c6d22250337df
https://github.com/llvm/llvm-project/commit/4e0dd007ac6a7b7e0a284062b61c6d22250337df
Author: mayanksolanki393 <mayanksolanki393 at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/logical-select.ll
A llvm/test/Transforms/InstCombine/trunc-lshr.ll
Log Message:
-----------
[InstCombine] Combine trunc (lshr X, BW-1) to i1 --> icmp slt X, 0 (#142593) (#143846)
Fixes #142593, the issue was fixed using the suggestion on the ticket
itself.
Godbolt: https://godbolt.org/z/oW5b74jc4
alive2 proof: https://alive2.llvm.org/ce/z/QHnD7e
Commit: e61405033bbaec3604c79a0b323a3e21efc720bc
https://github.com/llvm/llvm-project/commit/e61405033bbaec3604c79a0b323a3e21efc720bc
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGen/X86/avx-cxx-record.cpp
Log Message:
-----------
[clang] Fix -fclang-abi-compat for clang 20 (#144109)
The value was known already, but it was parsed as latest which is
incorrect because we are already doing clang 21.
Commit: fbade95ebf2bc959fada5206e47f792a2090d72e
https://github.com/llvm/llvm-project/commit/fbade95ebf2bc959fada5206e47f792a2090d72e
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Strip unnecessary make_{pair,optional} (NFC) (#141924)
Commit: cca454b54c7d58930e261c7fa72f44a1a8976997
https://github.com/llvm/llvm-project/commit/cca454b54c7d58930e261c7fa72f44a1a8976997
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Analysis/HashRecognize.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/HashRecognize/cyclic-redundancy-check.ll
Log Message:
-----------
[ValueTracking] Remove opcode whitelist from matchSimpleRecurrence. (#144031)
This also patches HashRecognize to avoid it mishandling some opcodes.
Commit: 0952992ac6e1470d9f776a99c5793745a6b58d98
https://github.com/llvm/llvm-project/commit/0952992ac6e1470d9f776a99c5793745a6b58d98
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M bolt/lib/Utils/CMakeLists.txt
Log Message:
-----------
[BOLT] Fix LLVM_APPEND_VC_REV support (#142410)
The CMake flag LLVM_APPEND_VC_REV can be passed when building BOLT a
BOLT to prevent including a VC Revision. This patch enables this
functionality.
Usage: `-DLLVM_APPEND_VC_REV=OFF` when running CMake.
Commit: 383b3268794da1ca763deb91cec777742e6e54a8
https://github.com/llvm/llvm-project/commit/383b3268794da1ca763deb91cec777742e6e54a8
Author: Javier Lopez-Gomez <javier.lopez.gomez at proton.me>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLine.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLocation.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVObject.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVRange.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVScope.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSymbol.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVType.h
M llvm/lib/DebugInfo/LogicalView/Core/LVObject.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVOptions.cpp
Log Message:
-----------
[llvm-debuginfo-analyzer] Fix ODR violation in llvm::logicalview::LVObject (#140265)
Some data members are only part of a class definition in a Debug build,
e.g. `LVObject::ID`. If `debuginfologicalview` is used as a library,
`NDEBUG` cannot be used for this purpose, as this PP macro may have a
different definition in a downstream project, which in turn triggers an
ODR violation. Fix it by
- Making `LVObject::ID` an unconditional data member.
- Making `LVObject::dump()` non-virtual. Rationale: `virtual` is not
needed (and it calls `print()`, which is virtual anyway).
Fixes #139098.
Commit: f12dd8f86a2911f69349807359d3bc792e6b773d
https://github.com/llvm/llvm-project/commit/f12dd8f86a2911f69349807359d3bc792e6b773d
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Remove unused variable in matchSimpleRecurrence (NFC). (#144316)
Commit: 3dd61c1876446fb9db7c87b89006ad6d81f72f0d
https://github.com/llvm/llvm-project/commit/3dd61c1876446fb9db7c87b89006ad6d81f72f0d
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-vmla.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage.ll
Log Message:
-----------
[LV] Fix MVE regression from #132190 (#141736)
Register pressure was only considered if the vector bandwidth was being
maximised (chosen either by the target or user options), but #132190
inadvertently caused high pressure VFs to be pruned even when max
bandwidth wasn't enabled. This PR returns to the previous behaviour.
Commit: a75e0627f97ccc36ec222a53c6a1106157a380ac
https://github.com/llvm/llvm-project/commit/a75e0627f97ccc36ec222a53c6a1106157a380ac
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/AArch64/check-prof-info.ll
M llvm/test/Transforms/LoopVectorize/check-prof-info.ll
Log Message:
-----------
[LV] Use vscale for tuning when updating profile information (#143690)
In fixVectorizedLoop we call setProfileInfoAfterUnrolling to update the
profile information after vectorising, however for scalable VFs we
pessimistically assume vscale=1. We can improve upon this by using the
value of vscale used for tuning, i.e. when targeting neoverse-v1 the
expected value is 2.
Commit: 79a2b15a4c2d63784fe2a92a72828a14b72412df
https://github.com/llvm/llvm-project/commit/79a2b15a4c2d63784fe2a92a72828a14b72412df
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M libcxx/include/__config
M libcxx/include/__utility/pair.h
Log Message:
-----------
[libc++] Remove a few workarounds for old Clang versions (#143858)
Commit: eddab9b757722da7b908723a5a61d280540b48cf
https://github.com/llvm/llvm-project/commit/eddab9b757722da7b908723a5a61d280540b48cf
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/SemaCXX/cxx2c-trivially-relocatable.cpp
M clang/test/SemaCXX/ptrauth-triviality.cpp
A clang/test/SemaCXX/trivially-relocatable-ptrauth.cpp
Log Message:
-----------
[clang] Fix PointerAuth semantics of cpp_trivially_relocatable (#143969)
This adds a number of functions to ASTContext to query whether a
type contains data protected with address discriminated pointer
authentication, and whether the protected values are just vtable
pointers, or if there are other address discriminated types included.
For the standardized version, __builtin_is_cpp_trivially_relocatable
this means accepting types where the only address discriminated
values are vtable pointers. Other address discriminated types are
not considered relocatable. In addition to that any union containing
any address discriminated data, including vtable pointers, is not
relocatable.
For the old deprecated __builtin_is_trivially_relocatable we reject
any type containing any address discriminated value, as it is
semantically intended as being a "is this memcopyable" which is
not true for anything with address discrimination.
This PR does not update the codegen for __builtin_trivially_relocate,
that will be in a follow on PR that is much more complex.
Commit: b2bf017acd0369fff89b933cf7c653f62b49f8d3
https://github.com/llvm/llvm-project/commit/b2bf017acd0369fff89b933cf7c653f62b49f8d3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86FixupInstTuning.cpp
M llvm/test/CodeGen/X86/combine-or-shuffle.ll
M llvm/test/CodeGen/X86/dpbusd.ll
M llvm/test/CodeGen/X86/dpbusd_const.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-256.ll
M llvm/test/CodeGen/X86/vector-reduce-add-mask.ll
M llvm/test/CodeGen/X86/vector-reduce-add-zext.ll
M llvm/test/CodeGen/X86/vector-reduce-add.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
Log Message:
-----------
[X86] X86FixupInstTuning - prefer VPBLENDD to VPBLENDW shuffles on AVX2+ targets (#144269)
On many Intel AVX2 targets (Haswell+), VPBLENDD has notably better throughput than VPBLENDW - and the remaining Intel/AMD targets have no preference.
This patch replaces VPBLENDW shuffles if the shuffle mask can be safely widened from vXi16 to vXi32 and that the scheduler model doesn't consider it a regression (I haven't found any target where this is true, but we should retain the model check).
Noticed while working on #142972 where VMOVSS nodes were regressing to VPBLENDW nodes during domain switching.
Commit: 3824a2dbcefe266849b9f8b3eaa1dd23354b15de
https://github.com/llvm/llvm-project/commit/3824a2dbcefe266849b9f8b3eaa1dd23354b15de
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Analysis/MemoryBuiltins.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
Log Message:
-----------
[MemoryBuiltins] Support allocas in getInitialValueOfAllocation (NFC)
Commit: 299a55a88fae4fc423c440436b2632d2a6bd800a
https://github.com/llvm/llvm-project/commit/299a55a88fae4fc423c440436b2632d2a6bd800a
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/docs/InstCombineContributorGuide.md
Log Message:
-----------
[InstCombine][Docs] Update InstCombine contributor guide (#144228)
Update the guideline to reduce the chance of miscompilation/performance
regression.
---------
Co-authored-by: Nikita Popov <github at npopov.com>
Co-authored-by: Antonio Frighetto <me at antoniofrighetto.com>
Commit: e00853859e89114d8db24aa0b863b618175f79c7
https://github.com/llvm/llvm-project/commit/e00853859e89114d8db24aa0b863b618175f79c7
Author: Rolf Morel <rolf.morel at intel.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/python/mlir/dialects/transform/__init__.py
M mlir/test/Dialect/Transform/test-pass-application.mlir
M mlir/test/python/dialects/transform.py
Log Message:
-----------
[MLIR][Transform] apply_registered_pass: support ListOptions (#144026)
Interpret an option value with multiple values, either in the form of an
`ArrayAttr` (either static or passed through a param) or as the multiple
attrs associated to a param, as a comma-separated list, i.e. as a
ListOption on a pass.
Commit: ddea4fe85a01f645a1c5e2c4a8ea607a85cf986f
https://github.com/llvm/llvm-project/commit/ddea4fe85a01f645a1c5e2c4a8ea607a85cf986f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Serialize.cpp
Log Message:
-----------
Fix some "not all control paths return" warnings; NFC
Commit: 4f7b5e6d8327f8cea41ba31fdbbb0ee9c1f754c3
https://github.com/llvm/llvm-project/commit/4f7b5e6d8327f8cea41ba31fdbbb0ee9c1f754c3
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
Fix a tablegen pattern that results in a warning; NFC
We were generating `1 || 1` which caused some issues for -Werror builds
Commit: 01f9dff61fb028f69493a44616014256dee5fb2a
https://github.com/llvm/llvm-project/commit/01f9dff61fb028f69493a44616014256dee5fb2a
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M flang/test/CMakeLists.txt
Log Message:
-----------
[Flang] Add llvm-profdata to list of tools to be built (#144325)
Fixes #144179
Commit: 329dfa16564da74451d26b601cab2d8af0e5f4d3
https://github.com/llvm/llvm-project/commit/329dfa16564da74451d26b601cab2d8af0e5f4d3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/fixup-blend.ll
Log Message:
-----------
[X86] fixup-blend.ll - add commuted load test coverage
Commit: d57b86701a7b5bf7d98fea032f33e726b2abb424
https://github.com/llvm/llvm-project/commit/d57b86701a7b5bf7d98fea032f33e726b2abb424
Author: Douglas Yung <douglas.yung at sony.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
Log Message:
-----------
Revert "AArch64: Move AArch64MCExpr functions to AArch64MCAsmInfo"
This reverts commit 4ea616d072d126a31149174ca2efdbdace9ce568.
This change is causing buildbot failures on MacOS:
- https://lab.llvm.org/buildbot/#/builders/190/builds/21510
- http://45.33.8.238/macm1/108620/step_10.txt
Commit: a54712c8ec25a94ab55a4783bfd9d5467d2ec968
https://github.com/llvm/llvm-project/commit/a54712c8ec25a94ab55a4783bfd9d5467d2ec968
Author: John Brawn <john.brawn at arm.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
A llvm/test/Transforms/LoopStrengthReduce/AArch64/postidx-load.ll
Log Message:
-----------
[LSR] Make canHoistIVInc allow non-integer types (#143707)
canHoistIVInc was made to only allow integer types to avoid a crash in
isIndexedLoadLegal/isIndexedStoreLegal due to them failing an assertion
in getValueType (or rather in MVT::getVT which gets called from that)
when passed a struct type. Adjusting these functions to pass
AllowUnknown=true to getValueType means we don't get an assertion
failure (MVT::Other is returned which TLI->isIndexedLoadLegal should
then return false for), meaning we can remove this check for integer
type.
Commit: 39ad3151e073e9f721d1e2e2849fb4bdc9443ae3
https://github.com/llvm/llvm-project/commit/39ad3151e073e9f721d1e2e2849fb4bdc9443ae3
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/Common/PredicateExpander.h
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/FastISelEmitter.cpp
Log Message:
-----------
[TableGen] Use default member initializers. NFC. (#144349)
Automated with clang-tidy -fix -checks=-*,modernize-use-default-member-init
Commit: 595a273d9232a7378c583fb109212370d6d2f4e4
https://github.com/llvm/llvm-project/commit/595a273d9232a7378c583fb109212370d6d2f4e4
Author: Andrey Timonin <timonina1909 at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/test/Dialect/EmitC/ops.mlir
Log Message:
-----------
[mlir][emitc] Support 'emitc::LValueType' in 'emitc::VerbatimOp' (#144151)
This PR introduces support for `emitc::LvalueType` in
`emitc::VerbatimOp`, providing a mechanism to reduce the number of
operations required when working with verbatim operations whose
arguments are of type `emitc::LvalueType`.
Before:
```mlir
emitc.func @foo() {
%a = "emitc.variable"() <{value = #emitc.opaque<"1">}> : () -> !emitc.lvalue<i32>
%loaded_a = load %a : !emitc.lvalue<i32>
emitc.verbatim "{} + {};" args %loaded_a, %loaded_a : i32, i32
return
}
```
After:
```mlir
emitc.func @bar() {
%a = "emitc.variable"() <{value = #emitc.opaque<"1">}> : () -> !emitc.lvalue<i32>
emitc.verbatim "{} + {};" args %a, %a : !emitc.lvalue<i32>, !emitc.lvalue<i32>
return
}
```
You can now write something like this:
```mlir
emitc.func @baz() {
%a = "emitc.variable"() <{value = #emitc.opaque<"1">}> : () -> !emitc.lvalue<i32>
emitc.verbatim "++{};" args %a : !emitc.lvalue<i32>
return
}
```
Commit: 8e333e3cedec69f9e538ed79ed9f577956215edb
https://github.com/llvm/llvm-project/commit/8e333e3cedec69f9e538ed79ed9f577956215edb
Author: Max191 <44243577+Max191 at users.noreply.github.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Transforms/Transforms.h
M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
Log Message:
-----------
[mlir] Expose linearize/delinearize lowering transforms (#144156)
Moves the transformation logic from the AffineLinearizeOp and
AffineDelinearizeOp lowerings into separate transform functions that can
now be called separately. This provides a more controlled way to apply
the op lowerings.
---------
Signed-off-by: Max Dawkins <max.dawkins at gmail.com>
Commit: 7c25db3fbfc63f76b270940e341f267e497e95d9
https://github.com/llvm/llvm-project/commit/7c25db3fbfc63f76b270940e341f267e497e95d9
Author: Xu Zhang <simonzgx at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AArch64/aarch64-bitwisenot-fold.ll
M llvm/test/CodeGen/LoongArch/ctlz-cttz-ctpop.ll
Log Message:
-----------
[DAG] Fold (and X, (add (not Y), Z)) -> (and X, (not (sub Y, Z))). (#141476)
Fixes #140639
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: f2734aa25e808e8c1967f7125fdea6c8b2dab9e1
https://github.com/llvm/llvm-project/commit/f2734aa25e808e8c1967f7125fdea6c8b2dab9e1
Author: Acthinks Yang <yangzhh at mail.ustc.edu.cn>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
A llvm/test/Transforms/InstCombine/icmp-subadd.ll
Log Message:
-----------
[InstCombine] fold icmp with add/sub instructions having the same operands (#143241)
Closes #143211.
Commit: 4692f0d3448e32381a2b21c7359c7daed07a8850
https://github.com/llvm/llvm-project/commit/4692f0d3448e32381a2b21c7359c7daed07a8850
Author: zGoldthorpe <Zach.Goldthorpe at amd.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
R llvm/test/CodeGen/AMDGPU/promote-alloca-structs.ll
Log Message:
-----------
Revert "[AMDGPU] Extended vector promotion to aggregate types." (#144366)
Reverts llvm/llvm-project#143784
Patch fails some internal tests. Will investigate more thoroughly before
attempting to remerge.
Commit: 38fa7533fbac525198206200cf2caf04071fcdb1
https://github.com/llvm/llvm-project/commit/38fa7533fbac525198206200cf2caf04071fcdb1
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
Log Message:
-----------
Fix diagnostic documentation build errors
Commit: f0373295e82315f95a97ce1b34c78ff46f475863
https://github.com/llvm/llvm-project/commit/f0373295e82315f95a97ce1b34c78ff46f475863
Author: Iris Shi <0.0 at owo.li>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseDeclCXX.cpp
A clang/test/Parser/cxx-invalid-using-decl-in-constexpr-crash.cpp
Log Message:
-----------
[clang][Parser] Fix crash on malformed using declaration in constexpr function (#144286)
Commit: 6f1b5ed7e127b7806ae36783c6b9406434416c95
https://github.com/llvm/llvm-project/commit/6f1b5ed7e127b7806ae36783c6b9406434416c95
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerCONCAT_VECTORS - pull out repeated SDLoc(). NFC.
Commit: 404597061f974470e8bd1198e44d024fac8319a1
https://github.com/llvm/llvm-project/commit/404597061f974470e8bd1198e44d024fac8319a1
Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/omptarget-depend.mlir
M mlir/test/Target/LLVMIR/omptarget-nowait-llvm.mlir
A mlir/test/Target/LLVMIR/omptarget-nowait.mlir
M mlir/test/Target/LLVMIR/omptargetdata-nowait-llvm.mlir
Log Message:
-----------
[OMPIRBuilder] - Make offloading input data persist for deferred target tasks (#133499)
When we offload to the target, the pointers to data used by the kernel
are passed in arrays created by `OMPIRBuilder`. These arrays of pointers
are allocated on the stack on the host. This is fine for the most part
because absent the `nowait` clause, the default behavior is that target
tasks are included tasks. That is, the host is blocked until the
offloaded target kernel is done. In turn, this means that the host's
stack frame is intact and accessing the array of pointers when
offloading is safe. However, when `nowait` is used on the `!$ omp
target` instance, then the target task is a deferred task meaning, the
generating task on the host does not have to wait for the target task
to finish. In such cases, it is very likely that the stack frame of the
function invoking the target call is wound up thereby leading to memory
access errors as shown below.
```
AMDGPU error: Error in hsa_amd_memory_pool_allocate: HSA_STATUS_ERROR_INVALID_ALLOCATION: The requested allocation is not valid.
AMDGPU error: Error in hsa_amd_memory_pool_allocate: HSA_STATUS_ERROR_INVALID_ALLOCATION: The requested allocation is not valid. "PluginInterface" error: Failure to allocate device memory: Failed to allocate from memory manager
fort.cod.out: /llvm/llvm-project/offload/plugins-nextgen/common/src/PluginInterface.cpp:1434: Error llvm::omp::target::plugin::PinnedAllocationMapTy::lockMappedHostBuffer(void *, size_t): Assertion `HstPtr && "Invalid pointer"' failed.
Aborted (core dumped)
```
This PR implements support in `OMPIRBuilder` to store these arrays of
pointers in the task structure that is passed to the target task thereby
ensuring it is available to the target task when the target task is
eventually scheduled.
---------
Co-authored-by: Sergio Afonso <safonsof at amd.com>
Commit: c7d85813fda88329979ae6c091d59a60833a9765
https://github.com/llvm/llvm-project/commit/c7d85813fda88329979ae6c091d59a60833a9765
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
A llvm/test/Transforms/IndVarSimplify/simplify-icmp-operands-order.ll
Log Message:
-----------
[IndVars] Add tests showing missed simplifications.
Commit: a5f0525d4b3edba50706cb0e4b9a48f0691e2b4c
https://github.com/llvm/llvm-project/commit/a5f0525d4b3edba50706cb0e4b9a48f0691e2b4c
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-partial-reduce.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-wide-add.ll
Log Message:
-----------
[AArch64][SelectionDAG] Enable new partial reduction lowering by default (#143565)
Commit: 58d23476f0ce76c847497a880f975550a645c796
https://github.com/llvm/llvm-project/commit/58d23476f0ce76c847497a880f975550a645c796
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/test/Dialect/XeGPU/xegpu-unroll-patterns.mlir
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
Log Message:
-----------
[MLIR][XeGPU] Add unroll patterns for scatter ops (#143602)
Add unrolling support for create_tdesc, load, store, prefetch, and update_offset.
---------
Co-authored-by: Adam Siemieniuk <adam.siemieniuk at intel.com>
Co-authored-by: Chao Chen <chao.chen at intel.com>
Commit: fc6aac72cc2c9a7a9dab443bca52f813a18461ef
https://github.com/llvm/llvm-project/commit/fc6aac72cc2c9a7a9dab443bca52f813a18461ef
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
M llvm/test/CodeGen/DirectX/flatten-array.ll
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
Log Message:
-----------
[DirectX] Fix bug where Flatten arrays was only using last index (#144146)
fixes #142836
We added a function called `collectIndicesAndDimsFromGEP` which builds
the Indicies and Dims up for the recursive case and the base case.
really to solve #142836 we didn't need to add it to the recursive case.
The recursive cases exists for gep chains which are ussually two
indicies per gep ie ptr index and array index. adding
collectIndicesAndDimsFromGEP to the recursive cases means we can now do
some mixed mode indexing say we get a case where its not the ussual 2
indicies but instead 3 we can now treat those last two indicies as part
of the computation for the flat array index.
Commit: 2dd50bf79edefa28beffdbba4edfc2c753adae61
https://github.com/llvm/llvm-project/commit/2dd50bf79edefa28beffdbba4edfc2c753adae61
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[OpenMP] Fix warnings
This patch fixes:
llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:7233:9: error: unused
variable 'TaskTy' [-Werror,-Wunused-variable]
llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:7666:15: error: unused
variable 'ArrayType' [-Werror,-Wunused-variable]
Commit: dfb14b65bc0a277f920c797b4557e79685055b4f
https://github.com/llvm/llvm-project/commit/dfb14b65bc0a277f920c797b4557e79685055b4f
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M flang/test/Preprocessing/bug518.F
Log Message:
-----------
[Flang] NFC: Update test to work on Mac (#144253)
`%flang` expands to `flang -isysroot <SDK location>` in Mac and probably
other OS as well. `fc1` is only accepted as the first argument and hence
in this case it fails.
Use the `%flang_fc1` option to correctly expand to `flang -fc1 -isysroot
<SDK location>`.
Commit: 711f6a8603717a6dc7e6202c614433ea2f9c0967
https://github.com/llvm/llvm-project/commit/711f6a8603717a6dc7e6202c614433ea2f9c0967
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
A llvm/test/DebugInfo/X86/DW_AT_object_pointer-non-standard-index.ll
M llvm/test/DebugInfo/X86/DW_AT_object_pointer.ll
M llvm/test/tools/llvm-dwarfdump/X86/statistics.ll
Log Message:
-----------
[llvm][DebugInfo] Encode DW_AT_object_pointer on method declarations with DW_FORM_implicit_const (#124790)
We started attaching `DW_AT_object_pointer`s on method declarations in
https://github.com/llvm/llvm-project/pull/122742. However, that caused
the `.debug_info` section size to increase significantly (by around ~10%
on some projects). This was mainly due to the large number of new
`DW_FORM_ref4` values. This patch tries to address that regression by
changing the `DW_FORM_ref4` to a `DW_FORM_implicit_const` for
declarations. The value of `DW_FORM_implicit_const` will be the *index*
of the object parameter in the list of formal parameters of the
subprogram (i.e., if the first `DW_TAG_formal_parameter` is the object
pointer, the `DW_FORM_implicit_const` would be `0`). The DWARFv5 spec
only mentions the use of the `reference` attribute class to for
`DW_AT_object_pointer`. So using a `DW_FORM_impilicit_const` would be an
extension to (and not something mandated/specified by) the standard.
Though it'd make sense to extend the wording in the spec to allow for
this optimization.
That way we don't pay for the 4 byte references on every attribute
occurrence. In a local build of clang this barely affected the
`.debug_info` section size (but did increase `.debug_abbrev` by up to
10%, which doesn't impact the total debug-info size much however).
We guarded this on LLDB tuning (since using `DW_FORM_implicit_const` for
this purpose may surprise consumers) and DWARFv5 (since that's where
`DW_FORM_implicit_const` was first standardized).
Commit: c9ac1679b5d3a3839640486dd4bd931a19f4725a
https://github.com/llvm/llvm-project/commit/c9ac1679b5d3a3839640486dd4bd931a19f4725a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M lldb/tools/debugserver/source/RNBRemote.cpp
Log Message:
-----------
[lldb] Remove a redundant control flow statement (NFC) (#144284)
Commit: 05cd32adb7ce2354563814ab6e0b818f2ed6fa26
https://github.com/llvm/llvm-project/commit/05cd32adb7ce2354563814ab6e0b818f2ed6fa26
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/Local.cpp
Log Message:
-----------
[llvm] Remove unused includes (NFC) (#144293)
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: ec32d8858559e4e6b5e520dfd36bfb64056fbdbb
https://github.com/llvm/llvm-project/commit/ec32d8858559e4e6b5e520dfd36bfb64056fbdbb
Author: Karlo Basioli <k.basioli at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
Annotate potentially unused variables introduced in #133499 (#144379)
Commit: 5acdd8d0cf785595b06c1a28326b560f720b4f16
https://github.com/llvm/llvm-project/commit/5acdd8d0cf785595b06c1a28326b560f720b4f16
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/AVR/AVRAsmPrinter.cpp
M llvm/lib/Target/AVR/AVRMCInstLower.cpp
M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.h
Log Message:
-----------
AVR: Rename AVRMCExpr::VK_ to AVR::S_
Prepare for removing AVRMCExpr. Adopt the new naming convention (S_
instead of VK_; the relocation specifier was previously named
`VariantKind`)) used by most other targets.
Make AVRMCAsmInfo.h include AVRMCExpr.h and change .cpp files to include
AVRMCAsmInfo.h. We will eventually remove AVRMCExpr.h.
Commit: 25dcd231bfee1120c21b102e074542c54fb7c5c2
https://github.com/llvm/llvm-project/commit/25dcd231bfee1120c21b102e074542c54fb7c5c2
Author: zGoldthorpe <Zach.Goldthorpe at amd.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
A llvm/test/Transforms/Attributor/AMDGPU/tag-invariant-loads.ll
M llvm/test/Transforms/Attributor/dereferenceable-1.ll
M llvm/test/Transforms/Attributor/value-simplify-local-remote.ll
Log Message:
-----------
[IPO] Added attributor for identifying invariant loads (#141800)
The attributor conservatively marks pointers whose loads are eligible to
be marked as `!invariant.load`.
It does so by identifying:
1. Pointers marked `noalias` and `readonly`
2. Pointers whose underlying objects are all eligible for invariant
loads.
The attributor then manifests this attribute at non-atomic non-volatile
load instructions.
Commit: 1bd4f9719faac77f368a7bdfdb47ead56a808375
https://github.com/llvm/llvm-project/commit/1bd4f9719faac77f368a7bdfdb47ead56a808375
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Lower/OpenMP/implicit-dsa.f90
A flang/test/Lower/OpenMP/taskgroup02.f90
M flang/test/Semantics/OpenMP/implicit-dsa.f90
Log Message:
-----------
[flang][OpenMP] Put taskgroup in a new scope (#144122)
Although taskgroup is a privatizing construct, because of
task_reduction clause, a new scope was not being created for it.
This could cause an extra privatization of variables when
taskgroup was lowered, because its scope would be the same as of
the parent privatizing construct.
This fixes regressions in tests 1052_0201 and 1052_0205, from
Fujitsu testsuite.
This issue didn't happen before because implicit symbols were
being created in a different way before #142154.
Commit: 22d9ea1b636d2c72a24fb0a8ce5216d609164635
https://github.com/llvm/llvm-project/commit/22d9ea1b636d2c72a24fb0a8ce5216d609164635
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVGLCanonicalization.cpp
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
M mlir/test/Dialect/SPIRV/Transforms/gl-canonicalize.mlir
M mlir/test/Target/SPIRV/gl-ops.mlir
Log Message:
-----------
[mlir][spirv] Add definition for GL Length (#144041)
A canonicalization pattern from `spirv.GL.Length` to `spirv.GL.FAbs` for scalar operands is also added.
Commit: 8bbef3d1c9115b3c64365e9b8e4ee84275a4d001
https://github.com/llvm/llvm-project/commit/8bbef3d1c9115b3c64365e9b8e4ee84275a4d001
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
A llvm/test/Transforms/InstCombine/AMDGPU/ptr-replace-alloca.ll
Log Message:
-----------
[InstCombine] Iterative replacement in PtrReplacer (#137215)
This patch enhances the PtrReplacer as follows:
1. Users are now collected iteratively to be generous on the stack. In
the case of PHIs with incoming values which have not yet been visited,
they are pushed back into the stack for reconsideration.
2. Replace users of the pointer root in a reverse-postorder traversal,
instead of a simple traversal over the collected users. This reordering
ensures that the operands of an instruction are replaced before
replacing the instruction itself.
3. During the replacement of PHI, use the same incoming value if it does
not have a replacement.
This patch specifically fixes the case when an incoming value of a PHI
is addrspacecasted.
Commit: d1dc080a858ca47c314334fb14f1ecb605fb4371
https://github.com/llvm/llvm-project/commit/d1dc080a858ca47c314334fb14f1ecb605fb4371
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
Log Message:
-----------
[lldb-dap] show function name in the instruction comment. (#144070)
putting the function name is the dissassembly instruction messes up the
alignment making it less readable. put it instead with the comment.
This also aligns the opcodes and instruction to the left matching the
cli
Commit: 20a1b357c0ff3c3f71de45bae42cb2dead7b66c9
https://github.com/llvm/llvm-project/commit/20a1b357c0ff3c3f71de45bae42cb2dead7b66c9
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
Log Message:
-----------
AArch64: Move AArch64MCExpr functions to AArch64MCAsmInfo
To migrate away from the legacy
XXXMCExpr::printImpl/evaluateAsRelocatableImpl overrides and align with
other targets.
While the AArch64MCAsmInfoXXX hooks introduce some duplication, they
enable better separation for object file formats.
Note: While AArch64MCAsmInfoDarwin uses the `@specifier` notation, it
might use AArch64MCExpr with specifier VK_ABS.
test/tools/llvm-mca/AArch64/Exynos/zero-latency-move.s abuses a parser
behavior that :lo12: is also parsed for Mach-O (though it will fail for
-filetype=obj).
Commit: a733c6c7bb1c533ec28c96c49d3c5de7babd8b7f
https://github.com/llvm/llvm-project/commit/a733c6c7bb1c533ec28c96c49d3c5de7babd8b7f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/test/Analysis/CostModel/RISCV/cast-half.ll
M llvm/test/Analysis/CostModel/RISCV/cast.ll
M llvm/test/Analysis/CostModel/RISCV/cmp.ll
M llvm/test/CodeGen/RISCV/rvv/vsub-sdnode.ll
Log Message:
-----------
[TargetLowering][RISCV] Allow scalable non-simple EVTs to be split even if the element type isn't a legal scalar type. (#144007)
This fixes an inconsistency in i64 vector handling between RV32 and
RV64. Even if i64 isn't legal as a scalar, we should still be able
to split a large i64 vector to get down to a legal vector type. We only
need to give up if we need to split a vscale x 1 vector.
Commit: c62a6138d9d02bcc0fb6660bbed78b4e979fc3dc
https://github.com/llvm/llvm-project/commit/c62a6138d9d02bcc0fb6660bbed78b4e979fc3dc
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
R llvm/test/Transforms/InstCombine/AMDGPU/ptr-replace-alloca.ll
Log Message:
-----------
Revert "[InstCombine] Iterative replacement in PtrReplacer" (#144394)
Reverts llvm/llvm-project#137215
This commit caused a failure in the LLVM CI:
https://lab.llvm.org/buildbot/#/builders/10/builds/7442
Commit: 6f9cd79fa2f43b8128be3e4386ee182ad5a843cc
https://github.com/llvm/llvm-project/commit/6f9cd79fa2f43b8128be3e4386ee182ad5a843cc
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/vp-reverse.ll
Log Message:
-----------
[InstSimplify] Add basic simplifications for vp.reverse (#144112)
Directly modeled after what we do for vector.reverse, but with
restrictions on EVL and mask added.
Commit: 90d62e0ae352e67d808f94ffb6d215d033f4ec22
https://github.com/llvm/llvm-project/commit/90d62e0ae352e67d808f94ffb6d215d033f4ec22
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
Log Message:
-----------
[RISCV][TTI] Refine reverse shuffle costing for high LMUL (#144155)
This contains two closely related changes:
1) Explicitly recurse on the i1 case - "3" happens to be the right
magic constant at m1, but is not otherwise correct, and we're
better off deferring this to existing logic.
2) Match the lowering for high LMUL shuffles - we've switched to using
a linear number of m1 vrgather instead of a single big vrgather.
This results in substantially faster (but also larger) code for
reverse shuffles larger than m1. Note that fixed vectors need
a slide at the end, but scalable ones don't.
This will have the effect of biasing the vectorizer towards larger
(particularly scalable larger) vector factors. This increases VF for the
s112 and s1112 loops from TSVC_2 (in all configurations).
We could refine the high LMUL estimates a bit more, but I think getting
the linear scaling right is probably close enough for the moment.
Commit: 267b859fc60acda510027bd6139c54d660c6fb21
https://github.com/llvm/llvm-project/commit/267b859fc60acda510027bd6139c54d660c6fb21
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
A clang/test/CIR/Transforms/vector-cmp-fold.cir
Log Message:
-----------
[CIR] Implement folder for VecCmpOp (#143322)
This change adds a folder for the VecCmpOp
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 4cd3e41bce449a10f431a3112b6cb8d7bc1b09cf
https://github.com/llvm/llvm-project/commit/4cd3e41bce449a10f431a3112b6cb8d7bc1b09cf
Author: sribee8 <145801438+sribee8 at users.noreply.github.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M libc/src/__support/HashTable/CMakeLists.txt
M libc/src/__support/HashTable/table.h
M libc/test/src/__support/HashTable/table_test.cpp
Log Message:
-----------
[libc] Removed public function calls in table.h (#144168)
Removed strcmp, strlen, and memset calls from table.h and replaced them
with internal functions.
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: ffc4d87f9b2b57f7020fa5fd0f1d3003370c2d80
https://github.com/llvm/llvm-project/commit/ffc4d87f9b2b57f7020fa5fd0f1d3003370c2d80
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Pass.h
M llvm/include/llvm/PassAnalysisSupport.h
M llvm/include/llvm/PassRegistry.h
M llvm/include/llvm/PassSupport.h
M llvm/include/llvm/Passes/OptimizationLevel.h
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/include/llvm/Passes/PassPlugin.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
Log Message:
-----------
[llvm] annotate interfaces in Passes for DLL export (#143794)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/Passes` library and
other pass-related headers. These 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).
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 on
Linux:
- Remove the redundant declaration of the `initializeKCFIPass` function
from llvm/include/llvm/InitializePasses.h because IDS only
auto-annotates the first declaration it encounters, and the second
un-annotated declaration results in an MSVC warning
- Add `LLVM_ABI` to a number of private `AnalysisKey` fields in classes
that extend the `AnalysisInfoMixin` template class.
- Add `LLVM_ABI` to the `ChangeReporter` and `TextChangeReporter`
template class definitions in
llvm/include/llvm/Passes/StandardInstrumentations.h and remove the
extern template instantiations. This is the only way I've found to get
everything compiling warning-free when building a DLL because both
template classes have methods implemented out-of-line.
## 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: febb7e8443c4e8ff55e6b21bec4e2233b62d832b
https://github.com/llvm/llvm-project/commit/febb7e8443c4e8ff55e6b21bec4e2233b62d832b
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/include/llvm/XRay/BlockIndexer.h
M llvm/include/llvm/XRay/BlockPrinter.h
M llvm/include/llvm/XRay/BlockVerifier.h
M llvm/include/llvm/XRay/FDRRecordConsumer.h
M llvm/include/llvm/XRay/FDRRecordProducer.h
M llvm/include/llvm/XRay/FDRRecords.h
M llvm/include/llvm/XRay/FDRTraceWriter.h
M llvm/include/llvm/XRay/FileHeaderReader.h
M llvm/include/llvm/XRay/InstrumentationMap.h
M llvm/include/llvm/XRay/Profile.h
M llvm/include/llvm/XRay/RecordPrinter.h
M llvm/include/llvm/XRay/Trace.h
Log Message:
-----------
[llvm] annotate interfaces in XRay for DLL export (#143765)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/XRay` library.
These 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).
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`.
Additionally, I manually added `LLVM_ABI_FRIEND` to friend member
functions declared with `LLVM_ABI`.
## 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: 695c4f2309718c441bc2e5b7dd3e3267737a12e6
https://github.com/llvm/llvm-project/commit/695c4f2309718c441bc2e5b7dd3e3267737a12e6
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
Log Message:
-----------
[NFC][mlir][tensor] Use `ValueRange` instead of `SmallVector` in `tensor::createPadHighOp` (#144397)
Use `ValueRange` instead of `SmallVector` in `tensor::createPadHighOp`
for the `dynOutDims` arg.
Commit: 492d25bbe12af7702a392fa7ad41eb9e09a48cf2
https://github.com/llvm/llvm-project/commit/492d25bbe12af7702a392fa7ad41eb9e09a48cf2
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h
M llvm/include/llvm/ObjectYAML/CodeViewYAMLSymbols.h
M llvm/include/llvm/ObjectYAML/CodeViewYAMLTypes.h
M llvm/include/llvm/ObjectYAML/DWARFEmitter.h
M llvm/include/llvm/ObjectYAML/DWARFYAML.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/include/llvm/ObjectYAML/YAML.h
M llvm/include/llvm/ObjectYAML/yaml2obj.h
Log Message:
-----------
[llvm] annotate interfaces in llvm/ObjectYAML for DLL export (#143763)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/ObjectYAML`
library. These 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).
These were generated automatically using the [Interface Definition
Scanner (IDS)](https://github.com/compnerd/ids) tool, followed
formatting with `git clang-format`.
## 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: fccab5d757778204666d70e2f1592952fc8b336d
https://github.com/llvm/llvm-project/commit/fccab5d757778204666d70e2f1592952fc8b336d
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/test/CIR/CodeGen/complex.cpp
Log Message:
-----------
[CIR] Upstream ComplexType ImaginaryLiteral (#144223)
This change adds support for ComplexType ImaginaryLiteral
https://github.com/llvm/llvm-project/issues/141365
Commit: 3f794759f4f2c0ba248a21fb3ec9eb4ff7e35724
https://github.com/llvm/llvm-project/commit/3f794759f4f2c0ba248a21fb3ec9eb4ff7e35724
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/include/llvm/Config/llvm-config.h.cmake
M llvm/include/llvm/IR/DebugLoc.h
M llvm/lib/IR/DebugLoc.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
Log Message:
-----------
[build] Fixed LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING handling. (#144391)
Change in #107278 modified the CMake CACHE variable with values
that are not supported for it as documented. This patch renames the
derived vars so that they do not conflict with the CACHE variable.
Commit: a3d35b87eacece8cdbb4615ff6c65003773f5cbf
https://github.com/llvm/llvm-project/commit/a3d35b87eacece8cdbb4615ff6c65003773f5cbf
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV] Use RISCV::RVVBitsPerBlock instead of 64 in getLMUL1VT. NFC (#144401)
Commit: 539cf824259cbb23ccc68b83ef3cde575ca50842
https://github.com/llvm/llvm-project/commit/539cf824259cbb23ccc68b83ef3cde575ca50842
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap] Use structured types for stepInTargets request (#144072)
uses the `SendTargetCapabilities` from #142831
Commit: b5c6245cb46354923940b95a89213fa0924e5c5f
https://github.com/llvm/llvm-project/commit/b5c6245cb46354923940b95a89213fa0924e5c5f
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
Log Message:
-----------
[CIR][NFC] Refactor constant pointer l-value handling (#144165)
This change introduces a ConstantLValueEmitter class, which will be
needed for emitting CIR for non-trivial constant pointers. This change
introduces the class with most branches reaching an NYI diagnostic. The
only path that is currently implemented is the case where an absolute
pointer (usually a null pointer) is emitted. This corresponds to the
existing handler for emitting l-value constants.
Commit: 00582728767599bb0e88beb96e8264dbe676da53
https://github.com/llvm/llvm-project/commit/00582728767599bb0e88beb96e8264dbe676da53
Author: Rahman Lavaee <rahmanl at google.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/unittests/Object/ELFObjectFileTest.cpp
Log Message:
-----------
[NFC] Remove unused test code from ELFObjectFileTest.cpp
Commit: 8ed43c47dec36bc38bbae4c6f024cdb824555a76
https://github.com/llvm/llvm-project/commit/8ed43c47dec36bc38bbae4c6f024cdb824555a76
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Log Message:
-----------
[Matrix] Hoist IRBuilder<> out of Visit* functions. NFC (#144369)
Commit: 63b80dd01dafc92104ee43e4f0f5296d644c25ec
https://github.com/llvm/llvm-project/commit/63b80dd01dafc92104ee43e4f0f5296d644c25ec
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp
Log Message:
-----------
[NFC][RootSignature] Use `llvm::EnumEntry` for serialization of Root Signature Elements (#144106)
It has pointed out
[here](https://github.com/llvm/llvm-project/pull/143198#discussion_r2132877388)
that we may be able to use `llvm::EnumEntry` so that we can re-use the
printing logic across enumerations.
- Enables re-use of `printEnum` and `printFlags` methods via templates
- Allows easy definition of `getEnumName` function for enum-to-string
conversion, eliminating the need to use a string stream for constructing
the Name SmallString
- Also, does a small fix-up of the operands for descriptor table clause
to be consistent with other `Build*` methods
For reference, the
[test-cases](https://github.com/llvm/llvm-project/blob/main/llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp)
that must not change expected output.
Commit: fcc10e55cabb90f3097a8da4c114e827a1d746eb
https://github.com/llvm/llvm-project/commit/fcc10e55cabb90f3097a8da4c114e827a1d746eb
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/include/llvm/ADT/GenericUniformityImpl.h
Log Message:
-----------
Remove unnecessary BOM from file; NFC
Fixes #144373
Commit: f83d09a1f60aee28a8ed9020cd72971ec2885f24
https://github.com/llvm/llvm-project/commit/f83d09a1f60aee28a8ed9020cd72971ec2885f24
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/test/Driver/print-enabled-extensions/riscv-andes-a25.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-a45.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-ax25.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-ax45.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-n45.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-nx45.c
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/test/tools/llvm-mca/RISCV/Andes45/gpr.s
Log Message:
-----------
Revert "[RISCV] Remove B and Zbc extension from Andes series cpus." (#144402)
Reverts llvm/llvm-project#144022
This has been failing postcommit CI for two days:
https://lab.llvm.org/buildbot/#/builders/63
Commit: e8362234f60612a250d832cc8d0f68fe7fa9ea17
https://github.com/llvm/llvm-project/commit/e8362234f60612a250d832cc8d0f68fe7fa9ea17
Author: Scott Linder <scott.linder at amd.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Object/RelocationResolver.cpp
A llvm/test/DebugInfo/AMDGPU/dwarfdump-rel.yaml
Log Message:
-----------
[Object][AMDGPU] Support REL relocations (#143966)
Shaders compiled with DXC/LLPC generate these relocations, and even if
that changes in the future we want to handle existing binaries. The
friction to support this and the maintenance cost long term both seem
incredibly low, considering other targets like ARM support both REL/RELA
static relocations behind the same interface.
Commit: a00b736a797d252d9e26cc13fb45993d7b02ede2
https://github.com/llvm/llvm-project/commit/a00b736a797d252d9e26cc13fb45993d7b02ede2
Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/test/Dialect/Vector/scalar-vector-transfer-to-memref.mlir
Log Message:
-----------
[mlir][Vector] Support `vector.extract(xfer_read)` folding with dynamic indices (#143269)
This PR is part of the last step to remove `vector.extractelement` and `vector.insertelement` ops.
RFC: https://discourse.llvm.org/t/rfc-psa-remove-vector-extractelement-and-vector-insertelement-ops-in-favor-of-vector-extract-and-vector-insert-ops
It adds support for folding `vector.transfer_read(vector.extract) ->
memref.load` with dynamic indices, which is currently supported by
`vector.extractelement`.
Commit: a0662ceba83cf8782da4047b8ee6d175591f168f
https://github.com/llvm/llvm-project/commit/a0662ceba83cf8782da4047b8ee6d175591f168f
Author: Daniel Rodríguez Troitiño <danielrodriguez at meta.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/ObjCopy/MachO/MachOLayoutBuilder.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.h
M llvm/lib/ObjCopy/MachO/MachOReader.cpp
M llvm/test/tools/llvm-objcopy/MachO/strip-with-encryption-info.test
Log Message:
-----------
[objcopy][MachO] Revert special handling of encryptable binaries (#144058)
Code originally added in #120995 and later corrected in #130517 but
apparently still not correct according to #141494 and
rust-lang/rust#141913.
Revert the special handling because the test written in #120995 and
#130517 still passes without those changes. Kept the test and improved
it with a `__DATA` section to keep the current behaviour checked in case
other changes modify the behaviour and break this edge case.
Commit: 402c376daa659c0c3a477ad038a415079ffa0a48
https://github.com/llvm/llvm-project/commit/402c376daa659c0c3a477ad038a415079ffa0a48
Author: William Huynh <William.Huynh at arm.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M libc/src/stdio/baremetal/printf.cpp
M libc/src/stdio/baremetal/putchar.cpp
M libc/src/stdio/baremetal/puts.cpp
M libc/src/stdio/baremetal/vprintf.cpp
Log Message:
-----------
[libc] Change default behaviour of baremetal/printf to use stdout (#143703)
In #94078, `write_to_stdout` had not been fully implemented. However,
now that it has been implemented, to conform with the C standard
(7.23.6.3. The printf function, specifically point 2), we use `stdout`.
This issue is tracked in #94685.
- Also prefer `static constexpr`
- Made it explicit that we are writing to `stdout`
Commit: 25781221d68a700eae679a19f701d4ad67e91dc9
https://github.com/llvm/llvm-project/commit/25781221d68a700eae679a19f701d4ad67e91dc9
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
Log Message:
-----------
[instcombine] Delete dead transform for reverse of binop (#143967)
We canonicalize reverse to after a binop in foldVectorBinop, and
simplify reverse pairs in InstSimplify, so these elimination transforms
are redundant.
Commit: b0378e7ca953c2390168f352c5a88fd325cde894
https://github.com/llvm/llvm-project/commit/b0378e7ca953c2390168f352c5a88fd325cde894
Author: Matthias Braun <matze at braunis.de>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
A clang/test/CodeGen/aarch64-always-inline-feature-bug.c
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64TargetParser]Fix reconstructFromParsedFeatures ignoring negative features (#142236)
The `targetFeatureToExtension` function used by
reconstructFromParsedFeatures only found positive `+FEATURE` strings,
but not negative `-FEATURE` strings. Extend the function to handle both
to fix `reconstructFromParsedFeatures`.
Commit: a637584fadb1f0b9a4fc526a2952345b14147634
https://github.com/llvm/llvm-project/commit/a637584fadb1f0b9a4fc526a2952345b14147634
Author: DrSergei <serzhdruzhok at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Add supported languages in package.json (#144414)
This patch fixes the [problem]. It was caused by missing supported
languages list in `package.json`. VSCode uses `guessDebugger` [function]
to find supported debuggers based on supported languages in case of
opened file. It uses `interestedInLanguage` [function][1] to do that, so
we should provide list of supported languages. Also, fixed typo in
`fortran`.
[problem]: https://github.com/llvm/llvm-project/issues/144239
[function]: https://github.com/microsoft/vscode/blob/main/src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts#L344
[1]: https://github.com/microsoft/vscode/blob/main/src/vs/workbench/contrib/debug/common/debugger.ts#L171
Commit: 8adccaee2a9e2d967ac54a783ffb71ac6ff79e85
https://github.com/llvm/llvm-project/commit/8adccaee2a9e2d967ac54a783ffb71ac6ff79e85
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M libc/src/__support/wchar/CMakeLists.txt
M libc/src/__support/wchar/character_converter.cpp
M libc/src/__support/wchar/character_converter.h
M libc/src/__support/wchar/mbstate.h
R libc/src/__support/wchar/utf_ret.h
M libc/test/src/__support/CMakeLists.txt
A libc/test/src/__support/wchar/CMakeLists.txt
A libc/test/src/__support/wchar/utf32_to_8_test.cpp
Log Message:
-----------
[libc] Implemented CharacterConverter push/pop for utf32->utf8 conversions (#143971)
Implemented CharacterConverter methods for conversion between utf32 ->
utf8
Added tests
---------
Co-authored-by: Michael Jones <michaelrj at google.com>
Commit: 1e60dd4f236dcca0215decc0e4885fb2dcdc1528
https://github.com/llvm/llvm-project/commit/1e60dd4f236dcca0215decc0e4885fb2dcdc1528
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp
Log Message:
-----------
[lldb] Fix a warning
This patch fixes:
lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp:89:2:
error: extra ';' outside of a function is incompatible with C++98
[-Werror,-Wc++98-compat-extra-semi]
Commit: d3bc834ece48cb993fcabcf20311bdcc9e591a21
https://github.com/llvm/llvm-project/commit/d3bc834ece48cb993fcabcf20311bdcc9e591a21
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-no-remaining-iterations.ll
Log Message:
-----------
[LV] Update check to find epilogue resume value to check all incoming.
This fixes a crash where all incoming values for the epilogue resume
value are zero, because there are no remaining iterations to execute for
the epilogue loop.
Commit: 34be09ad731d631d7b950a334cfe25673ebe5519
https://github.com/llvm/llvm-project/commit/34be09ad731d631d7b950a334cfe25673ebe5519
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
Log Message:
-----------
[lldb-dap][test] fix not supported error. (#144419)
Fixes #144072
buildbot error.
Commit: a027eb4472ee8fa504c98bef655cac8c8bfe333a
https://github.com/llvm/llvm-project/commit/a027eb4472ee8fa504c98bef655cac8c8bfe333a
Author: Steven Perron <stevenperron at google.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
M clang/test/CodeGenHLSL/ArrayTemporary.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/ArrayOutputArguments.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/OutputArguments.hlsl
M clang/test/CodeGenHLSL/Bool.hlsl
M clang/test/CodeGenHLSL/BoolVector.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/basic_types.hlsl
M clang/test/CodeGenHLSL/builtins/AddUint64.hlsl
M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/GroupMemoryBarrierWithGroupSync.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/abs.hlsl
M clang/test/CodeGenHLSL/builtins/all.hlsl
M clang/test/CodeGenHLSL/builtins/and.hlsl
M clang/test/CodeGenHLSL/builtins/any.hlsl
M clang/test/CodeGenHLSL/builtins/ceil-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/ceil.hlsl
M clang/test/CodeGenHLSL/builtins/clamp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/clamp.hlsl
M clang/test/CodeGenHLSL/builtins/clip-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/clip.hlsl
M clang/test/CodeGenHLSL/builtins/cos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cos.hlsl
M clang/test/CodeGenHLSL/builtins/cross.hlsl
M clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/degrees.hlsl
M clang/test/CodeGenHLSL/builtins/distance.hlsl
M clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp.hlsl
M clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp2.hlsl
M clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
M clang/test/CodeGenHLSL/builtins/fmod.hlsl
M clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/frac.hlsl
M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
M clang/test/CodeGenHLSL/builtins/isinf-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/isinf.hlsl
M clang/test/CodeGenHLSL/builtins/ldexp.hlsl
M clang/test/CodeGenHLSL/builtins/length.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log.hlsl
M clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log10.hlsl
M clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log2.hlsl
M clang/test/CodeGenHLSL/builtins/max-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/max.hlsl
M clang/test/CodeGenHLSL/builtins/min-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/min.hlsl
M clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/normalize.hlsl
M clang/test/CodeGenHLSL/builtins/or.hlsl
M clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
M clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/radians.hlsl
M clang/test/CodeGenHLSL/builtins/rcp.hlsl
M clang/test/CodeGenHLSL/builtins/reflect.hlsl
M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
M clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/round.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
M clang/test/CodeGenHLSL/builtins/sign.hlsl
M clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sin.hlsl
M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
M clang/test/CodeGenHLSL/builtins/splitdouble.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
M clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/step.hlsl
M clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/trunc.hlsl
M clang/test/CodeGenHLSL/builtins/wave_get_lane_index_do_while.hlsl
M clang/test/CodeGenHLSL/builtins/wave_get_lane_index_simple.hlsl
M clang/test/CodeGenHLSL/builtins/wave_get_lane_index_subcall.hlsl
M clang/test/CodeGenHLSL/cbuffer.hlsl
M clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
M clang/test/CodeGenHLSL/convergence/do.while.hlsl
M clang/test/CodeGenHLSL/convergence/for.hlsl
M clang/test/CodeGenHLSL/convergence/while.hlsl
M clang/test/CodeGenHLSL/default_cbuffer.hlsl
M clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
M clang/test/CodeGenHLSL/export.hlsl
M clang/test/CodeGenHLSL/group_shared.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
M clang/test/CodeGenHLSL/inline-functions.hlsl
M clang/test/CodeGenHLSL/inline-spirv/SpirvType.hlsl
M clang/test/CodeGenHLSL/no_int_promotion.hlsl
M clang/test/CodeGenHLSL/out-of-line-static.hlsl
M clang/test/CodeGenHLSL/shift-mask.hlsl
M clang/test/CodeGenHLSL/this-assignment-overload.hlsl
M clang/test/CodeGenHLSL/vk-input-builtin.hlsl
M clang/test/Options/enable_16bit_types_validation_spirv.hlsl
M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/DirectX/finalize-linkage-remove-dead-lib.ll
M llvm/test/CodeGen/DirectX/finalize-linkage-remove-dead.ll
M llvm/test/CodeGen/DirectX/finalize_linkage.ll
Log Message:
-----------
[HLSL] Use hidden visibility for external linkage. (#140292)
Implements
https://github.com/llvm/wg-hlsl/blob/main/proposals/0026-symbol-visibility.md.
The change is to stop using the `hlsl.export` attribute. Instead,
symbols with "program linkage" in HLSL will have export linkage with
default visibility, and symbols with "external linkage" in HLSL will
have export linkage with hidden visibility.
Commit: 60a59e350bfa909d3caf5b5b0dba8b473746ea0f
https://github.com/llvm/llvm-project/commit/60a59e350bfa909d3caf5b5b0dba8b473746ea0f
Author: Yuta Saito <kateinoigakukun at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
Log Message:
-----------
[ASan] Recognize WASI platform in sanitizer_platform.h (#139017)
Commit: 38daa6d4ef1f3386cc50198199c5ec61dcb012af
https://github.com/llvm/llvm-project/commit/38daa6d4ef1f3386cc50198199c5ec61dcb012af
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M libc/hdr/types/char8_t.h
M libc/src/__support/wchar/character_converter.cpp
Log Message:
-----------
[libc] build fix: always use our char8_t headers even in overlay mode (#144433)
Build fix caused by certain platforms not providing char8_t when
expected
Temporary fix to just always use our own definition, even in overlay
mode.
Commit: 95418bc8a8fd765d5e60e0c8ac7f8b77d2c15ef2
https://github.com/llvm/llvm-project/commit/95418bc8a8fd765d5e60e0c8ac7f8b77d2c15ef2
Author: Justin King <jcking at wulver.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M compiler-rt/lib/lsan/lsan_allocator.cpp
M compiler-rt/lib/lsan/lsan_allocator.h
M compiler-rt/lib/lsan/lsan_interceptors.cpp
M compiler-rt/lib/lsan/lsan_malloc_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_malloc_mac.inc
Log Message:
-----------
lsan: Support free_sized and free_aligned_sized from C23 (#144415)
Adds support to LSan for `free_sized` and `free_aligned_sized` from C23.
Other sanitizers will be handled with their own separate PRs.
For #144435
Signed-off-by: Justin King <jcking at google.com>
Commit: 9c25ca78f9bdfe74e5dbaa60a864411bdbae4943
https://github.com/llvm/llvm-project/commit/9c25ca78f9bdfe74e5dbaa60a864411bdbae4943
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M flang/lib/Semantics/mod-file.cpp
A flang/test/Semantics/modfile79.F90
Log Message:
-----------
[flang] Don't generate module file for hermetic USE'd dependency (#144143)
It's possible for the module file generation code to think that it needs
to (re)generate a module file for a dependent module read from a
hermetic module file, if it defines contains a procedure imported via
renaming due to a name clash. Adjust the logic that determines whether a
module file should be written to include a check for having originated
in a module file.
Commit: 65b06cd983e59c25f30b680167559a4db2b44609
https://github.com/llvm/llvm-project/commit/65b06cd983e59c25f30b680167559a4db2b44609
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M flang-rt/lib/runtime/allocatable.cpp
M flang/lib/Semantics/check-allocate.cpp
M flang/test/Semantics/allocate11.f90
Log Message:
-----------
[flang][runtime] Check SOURCE= conformability on ALLOCATE (#144113)
The SOURCE= expression of an ALLOCATE statement, when present and not
scalar, must conform to the shape of the allocated objects. Check this
at runtime, and return a recoverable error, or crash, when appropriate.
Fixes https://github.com/llvm/llvm-project/issues/143900.
Commit: 2bf3ccabfa37ee1b2d74da7b370cdb16a5cc8ac0
https://github.com/llvm/llvm-project/commit/2bf3ccabfa37ee1b2d74da7b370cdb16a5cc8ac0
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/environment.h
M flang-rt/include/flang-rt/runtime/stat.h
M flang-rt/include/flang-rt/runtime/type-info.h
A flang-rt/include/flang-rt/runtime/work-queue.h
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/descriptor-io.h
M flang-rt/lib/runtime/environment.cpp
M flang-rt/lib/runtime/namelist.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/type-info.cpp
A flang-rt/lib/runtime/work-queue.cpp
M flang-rt/unittests/Runtime/ExternalIOTest.cpp
M flang/docs/Extensions.md
M flang/include/flang/Runtime/assign.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/runtime-type-info.cpp
M flang/lib/Semantics/tools.cpp
M flang/module/__fortran_type_info.f90
M flang/test/Lower/volatile-openmp.f90
M flang/test/Semantics/typeinfo01.f90
M flang/test/Semantics/typeinfo03.f90
M flang/test/Semantics/typeinfo04.f90
M flang/test/Semantics/typeinfo05.f90
M flang/test/Semantics/typeinfo06.f90
M flang/test/Semantics/typeinfo07.f90
M flang/test/Semantics/typeinfo08.f90
M flang/test/Semantics/typeinfo11.f90
A flang/test/Semantics/typeinfo12.f90
M flang/test/Semantics/typeinfo13.f90
Log Message:
-----------
[flang] Restructure runtime to avoid recursion (relanding) (#143993)
Recursion, both direct and indirect, prevents accurate stack size
calculation at link time for GPU device code. Restructure these
recursive (often mutually so) routines in the Fortran runtime with new
implementations based on an iterative work queue with
suspendable/resumable work tickets: Assign, Initialize, initializeClone,
Finalize, and Destroy.
Default derived type I/O is also recursive, but already disabled. It can
be added to this new framework later if the overall approach succeeds.
Note that derived type FINAL subroutine calls, defined assignments, and
defined I/O procedures all perform callbacks into user code, which may
well reenter the runtime library. This kind of recursion is not handled
by this change, although it may be possible to do so in the future using
thread-local work queues.
(Relanding this patch after reverting initial attempt due to some test
failures that needed some time to analyze and fix.)
Fixes https://github.com/llvm/llvm-project/issues/142481.
Commit: 6cbb67f84c53d88e67b0d5a9f0ad2cf4782e6f66
https://github.com/llvm/llvm-project/commit/6cbb67f84c53d88e67b0d5a9f0ad2cf4782e6f66
Author: Vlad Lazar <lazar_2004 at list.ru>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/test/Dialect/EmitC/invalid_ops.mlir
Log Message:
-----------
[mlir][emitc] Fix the emitc::ExpressionOp (#143894)
Fix the lack of verification that the definingOp of the return value
belongs to emitc::ExpressionOp.
Commit: a383b1a95b63cf120b3dea554c2d66ccfaee066b
https://github.com/llvm/llvm-project/commit/a383b1a95b63cf120b3dea554c2d66ccfaee066b
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/lib/Parse/CMakeLists.txt
M clang/unittests/Parse/CMakeLists.txt
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignatureUtils.h
M llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp
M llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp
Log Message:
-----------
Reland "[HLSL][RootSignature] Implement serialization of RootConstants and RootFlags" (#143019)
This relands #141130.
The initial commit uncovered that we are missing the correct linking of
FrontendHLSL into clang/lib/Parse and clang/lib/unittests/Parse.
This change addreses this by linking them accordingly.
It was also checked and ensured that the LexHLSLRootSignature libraries
do not depend on FrontendHLSL and so we are not required to link there.
Resolves: #138190 and #138192
Commit: 30b16ec3415e7ddb597d096f818d011b1b4e6a63
https://github.com/llvm/llvm-project/commit/30b16ec3415e7ddb597d096f818d011b1b4e6a63
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/first-order-recurrence-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
Log Message:
-----------
[VPlan] Simplify trivial VPFirstOrderRecurrencePHI recipes.
VPFirstOrderRecurrencePHIRecipes where the incoming values are the same
can be simplified and removed.
Fixes https://github.com/llvm/llvm-project/issues/144212.
The new test is added together with other related tests from
first-order-recurrence.ll
Commit: 4bcf9732c7361b3ea5208ced592245e0302fc7a2
https://github.com/llvm/llvm-project/commit/4bcf9732c7361b3ea5208ced592245e0302fc7a2
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/test/CIR/CodeGen/builtin_call.cpp
A clang/test/CIR/CodeGen/builtin_printf.cpp
Log Message:
-----------
[CIR] Add Support For Library Builtins (#143984)
This patch upstreams support for builtins that map to a standard library
function. Examples would be abort() and printf().
It also fixes a minor issue with the errorNYI for all remaining
unimplemented builtins using the mlir::Location instead of the clang AST
SourceLocation.
Commit: 2488f26d15e7e12aef9ead3fcb2d1b6da51812fb
https://github.com/llvm/llvm-project/commit/2488f26d15e7e12aef9ead3fcb2d1b6da51812fb
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CodeGen/epilog-unwind.c
M clang/test/Driver/cl-options.c
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/Support/CodeGen.h
M llvm/lib/IR/Module.cpp
M llvm/lib/Target/X86/X86WinEHUnwindV2.cpp
A llvm/test/CodeGen/X86/win64-eh-unwindv2-errors.mir
A llvm/test/CodeGen/X86/win64-eh-unwindv2-too-many-epilogs.mir
Log Message:
-----------
[win][x64] Unwind v2 3/n: Add support for requiring unwind v2 to be used (equivalent to MSVC's /d2epilogunwindrequirev2) (#143577)
#129142 added support for emitting Windows x64 unwind v2 information,
but it was "best effort". If any function didn't follow the requirements
for v2 it was silently downgraded to v1.
There are some parts of Windows (specifically kernel-mode code running
on Xbox) that require v2, hence we need the ability to fail the
compilation if v2 can't be used.
This change also adds a heuristic to check if there might be too many
unwind codes, it's currently conservative (i.e., assumes that certain
prolog instructions will use the maximum number of unwind codes).
Future work: attempting to chain unwind info across multiple tables if
there are too many unwind codes due to epilogs and adding a heuristic to
detect if an epilog will be too far from the end of the function.
Commit: 98eee4b554be18f734088455cb4cd9dc634e7602
https://github.com/llvm/llvm-project/commit/98eee4b554be18f734088455cb4cd9dc634e7602
Author: sribee8 <145801438+sribee8 at users.noreply.github.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M libc/src/__support/wchar/character_converter.cpp
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/wchar/CMakeLists.txt
A libc/test/src/__support/wchar/utf8_to_32_test.cpp
Log Message:
-----------
[libc] utf8 to 32 CharacterConverter (#143973)
Implemented push and pop for utf8 to 32 conversion and tests.
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 6e124423546e5d22b4b6dc64d6cedfe93e627d58
https://github.com/llvm/llvm-project/commit/6e124423546e5d22b4b6dc64d6cedfe93e627d58
Author: sribee8 <145801438+sribee8 at users.noreply.github.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M libc/src/__support/wchar/character_converter.cpp
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/wchar/CMakeLists.txt
R libc/test/src/__support/wchar/utf8_to_32_test.cpp
Log Message:
-----------
Revert "[libc] utf8 to 32 CharacterConverter" (#144446)
Reverts llvm/llvm-project#143973
This merge broke the build and I'm currently looking into the issue to
fix it.
Commit: 99e53cb4139eda491f97cb33ee42ea424d352200
https://github.com/llvm/llvm-project/commit/99e53cb4139eda491f97cb33ee42ea424d352200
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/StackProtector.cpp
A llvm/test/Transforms/StackProtector/cross-dso-cfi-stack-chk-fail.ll
A llvm/test/Transforms/StackProtector/stack-chk-fail-alias.ll
Log Message:
-----------
[llvm][StackProtector] Add noreturn to __stack_chk_fail call (#143976)
It's possible for __stack_chk_fail to be an alias when using CrossDSOCFI
since it will make a jump table entry for this function and replace it
with an alias. StackProtector can crash since it always expects this to
be a regular function. Instead add the noreturn attribute to the call.
Commit: 964888d01f0b0f81540f8548370f00c315952042
https://github.com/llvm/llvm-project/commit/964888d01f0b0f81540f8548370f00c315952042
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
A llvm/test/Transforms/LowerTypeTests/Inputs/import-thinlto-funcs.yaml
M llvm/test/Transforms/LowerTypeTests/cfi-coff-comdat-rename.ll
Log Message:
-----------
[llvm][CFI] Ensure COFF comdat renaming applies for imported functions (#143421)
I ran into the same issue as
https://github.com/llvm/llvm-project/pull/139962 regarding the comdat
corresponding to a renamed key function but for thinlto. My last patch
had not considered the thinlto case, so this applies the same fix for
imported functions.
Commit: ac7af53d05b94849fd590b1875db7b85957fb0f6
https://github.com/llvm/llvm-project/commit/ac7af53d05b94849fd590b1875db7b85957fb0f6
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M flang/test/Semantics/modfile71.F90
M flang/test/Semantics/modfile75.F90
M flang/test/Semantics/modfile76.F90
M flang/test/Semantics/modfile77.F90
M flang/test/Semantics/modfile78.F90
M flang/test/Semantics/modfile79.F90
Log Message:
-----------
[flang] Fixed LIT tests to create modfiles in a temp dir. (#144448)
Commit: d882670d498a29f4e02f357ef9fe07c43de034c8
https://github.com/llvm/llvm-project/commit/d882670d498a29f4e02f357ef9fe07c43de034c8
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/StackProtector.cpp
R llvm/test/Transforms/StackProtector/cross-dso-cfi-stack-chk-fail.ll
R llvm/test/Transforms/StackProtector/stack-chk-fail-alias.ll
Log Message:
-----------
Revert "[llvm][StackProtector] Add noreturn to __stack_chk_fail call" (#144452)
Reverts llvm/llvm-project#143976
Reverting since this broke a builder:
https://lab.llvm.org/buildbot/#/builders/190/builds/21563
Commit: 6421bd94eabdb71975c75e2c1621a095b3d8b6ad
https://github.com/llvm/llvm-project/commit/6421bd94eabdb71975c75e2c1621a095b3d8b6ad
Author: John Harrison <harjohn at google.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setExceptionBreakpoints.py
M lldb/test/API/tools/lldb-dap/exception/objc/Makefile
M lldb/test/API/tools/lldb-dap/exception/objc/TestDAP_exception_objc.py
M lldb/test/API/tools/lldb-dap/exception/objc/main.m
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/ExceptionBreakpoint.cpp
M lldb/tools/lldb-dap/ExceptionBreakpoint.h
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/SetExceptionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/tools/lldb-dap/ProtocolUtils.cpp
M lldb/tools/lldb-dap/ProtocolUtils.h
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap] Creating protocol types for setExceptionBreakpoints. (#144153)
This adds new types for setExceptionBreakpoints and adds support for
`supportsExceptionFilterOptions`, which allows exception breakpoints to
set a condition.
While testing this, I noticed that obj-c exception catch breakpoints may
not be working correctly in lldb-dap.
Commit: 97bfb936af4077e8cb6c75664231f27a9989d563
https://github.com/llvm/llvm-project/commit/97bfb936af4077e8cb6c75664231f27a9989d563
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
DAG: Move soft float predicate management into RuntimeLibcalls (#142905)
Work towards making RuntimeLibcalls the centralized location for
all libcall information. This requires changing the encoding from
tracking the ISD::CondCode to using CmpInst::Predicate.
Commit: 1ffd9f553ccba27c0def5f38e7928af8f3976bac
https://github.com/llvm/llvm-project/commit/1ffd9f553ccba27c0def5f38e7928af8f3976bac
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Cleanup sincos predicate functions (#143081)
The darwinHasSinCos wasn't actually used for sincos, only the stret
variant. Rename this to reflect that, and introduce a new one for
enabling sincos.
Commit: 9bd234a4330c6882f23ebf1f7861c5ec97e74d95
https://github.com/llvm/llvm-project/commit/9bd234a4330c6882f23ebf1f7861c5ec97e74d95
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
AArch64: Move outline atomic libcalls configuration (#144374)
This de-conditionalizes the setting of the libcall names
on outlineAtomics() && !hasLSE(). The existence of the
libcall is a module level property, which cannot depend on the
subtarget so this is fine. It's better if the initial list of
calls has more entries than will be used than to have missing
ones. There aren't any alternative names set, so this is also
fine.
Currently RuntimeLibcallsInfo conflates the existence of the calls
with the lowering usage decision, so this suboptimally will report
the libcall name on subtargets that should not use the calls. This
doesn't matter in this case though, as the atomic lowering actions
are already separately controlled and aren't based on decisions on
libcall availability. We could be paranoid and clear the names in
TargetLowering.
Also fixes not catching all aarch64 triples in the RuntimeLibcallsInfo
construction; the previous check missed aarch64_be.
Commit: 24631e5440eed3093dfb52e7a631504b71845923
https://github.com/llvm/llvm-project/commit/24631e5440eed3093dfb52e7a631504b71845923
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/test/CodeGen/AArch64/arm64ec-builtins.ll
Log Message:
-----------
AArch64: Fix outline atomic libcall names for arm64ec (#144378)
Add a missing # prefix to each libcall name
Commit: 6e8cf9c63f643768a1d54a9ce2a73a570429c4bc
https://github.com/llvm/llvm-project/commit/6e8cf9c63f643768a1d54a9ce2a73a570429c4bc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64ec-builtins.ll
Log Message:
-----------
AArch64: Add arm64ec libcall tests for __arm_sc_* functions (#144356)
Commit: d4e2c0b359ea90236fd1b62791a04fb845f5d9f3
https://github.com/llvm/llvm-project/commit/d4e2c0b359ea90236fd1b62791a04fb845f5d9f3
Author: Bryan Chan <bryan.chan at huawei.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/test/Driver/android-link.cpp
Log Message:
-----------
[Driver] Add options to control workaround for Cortex-A53 Erratum 843419 (#143915)
Implement the -mfix-cortex-a53-843419 and -mno-fix-cortex-a53-843419 options,
which have been introduced to GCC to allow the user to control the workaround
for the erratum. If the option is enabled (which is the default, unchanged by
this patch), Clang passes --fix-cortex-a53-843419 to the linker when it cannot
ensure that the target is not a Cortex A53, otherwise it doesn't.
See https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html#index-mfix-cortex-a53-843419
for information on the GCC options.
Commit: 8b1528fad99a18d2e094968f1341efb3048a23da
https://github.com/llvm/llvm-project/commit/8b1528fad99a18d2e094968f1341efb3048a23da
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Use array initializers for default values (#143082)
Commit: f626620e33ba2c76ba226ecaeb09c320b60aa4d9
https://github.com/llvm/llvm-project/commit/f626620e33ba2c76ba226ecaeb09c320b60aa4d9
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenInstruction.cpp
M llvm/utils/TableGen/Common/CodeGenInstruction.h
Log Message:
-----------
[LLVM][TableGen] Use `StringRef` for CodeGenInstruction::AsmString (#144440)
Commit: 2e3d212e40bc6fca9fbe53978a87c901eb19a01d
https://github.com/llvm/llvm-project/commit/2e3d212e40bc6fca9fbe53978a87c901eb19a01d
Author: Jinyang He <hejinyang at loongson.cn>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/test/MC/LoongArch/Misc/cfi-advance.s
M llvm/test/MC/LoongArch/Relocations/fde-reloc.s
M llvm/test/MC/LoongArch/Relocations/sub-expr.s
Log Message:
-----------
[LoongArch] Allow difference across sections (#141722)
For SecA != SecB but SecB is current section, fallback for pcrel{64,32}
relocations. For linker relaxation being disabled and SecA == SecB,
return directly for avoid record relocations. In other cases, record
relocations which also allows across sections.
Commit: ab7aaaca93a0670e96a454136bb9cf13bb1ae372
https://github.com/llvm/llvm-project/commit/ab7aaaca93a0670e96a454136bb9cf13bb1ae372
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M flang/test/Semantics/modfile75.F90
Log Message:
-----------
[flang][tests] Remove stale module files to fix buildbots.
Commit: 9093bc7eff33b002d7f16d4d62ff1af2a5a993f8
https://github.com/llvm/llvm-project/commit/9093bc7eff33b002d7f16d4d62ff1af2a5a993f8
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
A llvm/test/tools/llvm-exegesis/RISCV/unsupported-opcode.test
M llvm/tools/llvm-exegesis/lib/Target.cpp
Log Message:
-----------
[llvm-exegesis] Ignore the instructions for which InstrDesc.getSchedClass() == 0 (#143840)
This allows llvm-exegesis to skip instructions that lack scheduling
information, avoiding invalid benchmarking. e.g. `InstB` in RISC-V.
Commit: 602c3089f749ec3b61b93652ea9eb5947a61bcf2
https://github.com/llvm/llvm-project/commit/602c3089f749ec3b61b93652ea9eb5947a61bcf2
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/TargetParser/SubtargetFeature.h
Log Message:
-----------
[TargetParser] Increase MAX_SUBTARGET_FEATURES to 384 (#144326)
There are 314 features in RISC-V backend, which is about to exceed
the maxinum 320 as there are some ongoing new extensions.
We increase the `MAX_SUBTARGET_FEATURES` to 384 so that we won't
surprise anyone.
Commit: a02afb0def589ec28f8240ff15760e5f241b833c
https://github.com/llvm/llvm-project/commit/a02afb0def589ec28f8240ff15760e5f241b833c
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.h
Log Message:
-----------
AVR: Migrate to the new relocation specifier representation
Define printImpl and evaluateAsRelocationImpl within AVRMCAsmInfo.
Commit: 199428e0472c80d9b742d0a3e492ab902005fb6a
https://github.com/llvm/llvm-project/commit/199428e0472c80d9b742d0a3e492ab902005fb6a
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
Log Message:
-----------
[bazel][lld] Remove unneeded dependencies. (#144455)
As far as I can tell these are not used in any includes in their
respective targets, and building all of LLD with
```
bazel build --config=generic_clang @llvm-project//lld/...
```
still works.
Commit: 30350afd023c4e9583d5a8bbfd56af7c354923fa
https://github.com/llvm/llvm-project/commit/30350afd023c4e9583d5a8bbfd56af7c354923fa
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCAsmInfo.cpp
M llvm/lib/MC/MCExpr.cpp
Log Message:
-----------
MCSpecifierExpr: Remove unused virtual functions
... now that all targets using MCSpecifierExpr have migrated to
XXXMCAsmInfo::printExpr/evaluateAsRelocatableImpl.
Commit: 7caeec599998bd8aa01d498574e148e4e9c982db
https://github.com/llvm/llvm-project/commit/7caeec599998bd8aa01d498574e148e4e9c982db
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[NFC][flang][OpenMP] Unify `genSectionsOp`'s prototype to match other `genXXXOp` functions (#144013)
Unifies the prototype of `genSectionsOp` to match other ops generators.
Doing so, we are able to call `genSectionsOp` directtly from
`genOMPDispatch` instead of the special handling needed now to pass the
section blocks. This is useful because now we can handle symbol mapping
scopes easier for nested OpenMP directives. See
https://github.com/llvm/llvm-project/pull/143706#issuecomment-2965344723
and the following discussion for more info.
Commit: b5dbf8210a57b986b9802304745f4c5c108cf37b
https://github.com/llvm/llvm-project/commit/b5dbf8210a57b986b9802304745f4c5c108cf37b
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/do_concurrent_delayed_locality.f90
M flang/test/Lower/do_concurrent_local_assoc_entity.f90
M flang/test/Lower/do_concurrent_local_default_init.f90
M flang/test/Lower/loops.f90
M flang/test/Lower/loops3.f90
Log Message:
-----------
[flang] Enable delayed localization by default for `do concurrent` (#144074)
Reintroduces changes from
https://github.com/llvm/llvm-project/issues/143897. A fix for the
reported problem in https://github.com/llvm/llvm-project/issues/143897
is hopefully resolved in
https://github.com/llvm/llvm-project/pull/144027.
This PR aims to make it easier and more self-contained to revert the
switch/flag if we discover any problems with enabling it by default.
Commit: 2dc58e02cbce83784a38b4cc33f83529ad1a7c7e
https://github.com/llvm/llvm-project/commit/2dc58e02cbce83784a38b4cc33f83529ad1a7c7e
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
R flang/test/Lower/OpenMP/Todo/target-parallel-private.f90
R flang/test/Lower/OpenMP/Todo/target-teams-private.f90
A flang/test/Lower/OpenMP/target-parallel-private.f90
A flang/test/Lower/OpenMP/target-teams-private.f90
Log Message:
-----------
[flang][OpenMP] Add symbol table scopes for `teams` and `parallel` (#144015)
Adds symbol map scopes for standalone `teams` and `parallel` constructs.
This is required to properly bind the privatized symbols in both
constructs so that nested constructs can find them.
Resolves https://github.com/llvm/llvm-project/issues/116428.
Commit: 84d879d6999b61cea3f9f200df57653f5a51ee41
https://github.com/llvm/llvm-project/commit/84d879d6999b61cea3f9f200df57653f5a51ee41
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV_nonstandard.def
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
Log Message:
-----------
[RISCV] Rename Relocation QC_E_JUMP_PLT to QC_E_CALL_PLT (#143998)
The semantics and definition of this relocation are unchanged. The new
name reflects that instructions with the relocation should be assumed to
clobber non-callee-saved registers, as with the R_RISCV_CALL_PLT
relocation.
The name was changed in v0.2 of the ABI extensions:
https://github.com/quic/riscv-elf-psabi-quic-extensions/releases/tag/v0.2
Commit: c0ac95181eededc85027d63fe9f97bc742b7a552
https://github.com/llvm/llvm-project/commit/c0ac95181eededc85027d63fe9f97bc742b7a552
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Update Xqci to v0.13.0 (#144398)
Commit: 98c6c371d6dc09454d541474ef65a0e47c4baae6
https://github.com/llvm/llvm-project/commit/98c6c371d6dc09454d541474ef65a0e47c4baae6
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Xqccmp v0.3 (#137854)
All the changes for v0.2 and v0.3 are either already implemented, or
irrelevant to the compiler implementation.
Commit: e86740e6003739a41139d94e1643a3207f8fd8f8
https://github.com/llvm/llvm-project/commit/e86740e6003739a41139d94e1643a3207f8fd8f8
Author: no92 <no92 at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
A clang/lib/Driver/ToolChains/Managarm.cpp
A clang/lib/Driver/ToolChains/Managarm.h
M clang/lib/Lex/InitHeaderSearch.cpp
A clang/test/Driver/Inputs/basic_managarm_tree/lib/aarch64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib/riscv64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib/x86_64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib64/aarch64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib64/riscv64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib64/x86_64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/aarch64-managarm-mlibc/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/c++/v1/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/riscv64-managarm-mlibc/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/x86_64-managarm-mlibc/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/aarch64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbegin.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbeginS.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbeginT.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbegin.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbeginS.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbeginT.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbegin.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbeginS.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbeginT.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/riscv64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/x86_64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib64/.keep
A clang/test/Driver/managarm.cpp
M clang/test/Preprocessor/init.c
M clang/test/Preprocessor/predefined-macros-no-warnings.c
Log Message:
-----------
[clang] Add managarm support (#139271)
This PR is part of a series to upstream managarm support, as laid out in
the
[RFC](https://discourse.llvm.org/t/rfc-new-proposed-managarm-support-for-llvm-and-clang-87845/85884/1).
This PR is a follow-up to #87845 and #138854.
Commit: 41b9d28327bf20befe63a683b2a2f90670837b2f
https://github.com/llvm/llvm-project/commit/41b9d28327bf20befe63a683b2a2f90670837b2f
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M bolt/test/lit.local.cfg
Log Message:
-----------
[BOLT][NFC] Using target_triple in lit config (#144078)
Commit: 7e6c1bd3edf4fc19be70587a4ac33a76bab78c02
https://github.com/llvm/llvm-project/commit/7e6c1bd3edf4fc19be70587a4ac33a76bab78c02
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT][NFCI] Simplify DataAggregator using traces (#143289)
Consistently apply traces as defined in #127125 for branch profile
aggregation. This combines branches and fall-through records into one.
With large input binaries/profiles, the speed up in aggregation time
(`-time-aggr`, wall time):
- perf.data, pre-BOLT input: 154.5528s -> 144.0767s
- pre-aggregated data, pre-BOLT input: 15.1026s -> 9.0711s
- pre-aggregated data, BOLTed input: 15.4871s -> 10.0077s
Test Plan: NFC
Commit: 80b79ce432bbe12701fd9fe495ff9feeb5e4b9ca
https://github.com/llvm/llvm-project/commit/80b79ce432bbe12701fd9fe495ff9feeb5e4b9ca
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstSimplify/ConstProp/loads.ll
Log Message:
-----------
[ConstantFolding] Handle reading from type padding (#144330)
ReadDataFromGlobal() did not handle reads from the padding of types (in
the sense of type store size != type alloc size, rather than struct
padding).
Return zero in that case.
Fixes https://github.com/llvm/llvm-project/issues/144279.
Commit: bb70023cbfecf7880e4cc89966947ef475e070e9
https://github.com/llvm/llvm-project/commit/bb70023cbfecf7880e4cc89966947ef475e070e9
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Analysis/MemoryLocation.cpp
M llvm/test/Transforms/DeadStoreElimination/trivial-dse-calls.ll
Log Message:
-----------
[MemoryLocation][DSE] Allow other read effects in MemoryLocation::getForDest() (#144343)
MemoryLocation::getForDest() returns a (potentially) written location,
while still allowing other reads. Currently, this is limited to
argmemonly functions. However, we can ignore other (non-argmem) read
effects here for the same reason we can ignore argument reads.
Fixes https://github.com/llvm/llvm-project/issues/144300.
Proof: https://alive2.llvm.org/ce/z/LKq_dc
Commit: 632151fbeea972f4aa3c14921eca1e45c07646f3
https://github.com/llvm/llvm-project/commit/632151fbeea972f4aa3c14921eca1e45c07646f3
Author: gaynor-anthropic <gaynor at anthropic.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/add.ll
Log Message:
-----------
InstCombine: improve optimizations for ceiling division with no overflow (#142869)
Fixes #142497.
Alive2: https://alive2.llvm.org/ce/z/CeaHaH
The contents of this pull request were substantially written using
claude-code. I've reviewed to the best of my ability (it's been years
since I did any compilers work).
---------
Co-authored-by: Yingwei Zheng <dtcxzyw at qq.com>
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: c564ebba22ae9af315e08789c628810a3bbcf3df
https://github.com/llvm/llvm-project/commit/c564ebba22ae9af315e08789c628810a3bbcf3df
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineEXTRACT_SUBVECTOR - move AVX1 ANDNP comment and fold back together. NFC.
These appear to have been split by a merge at some point.
Commit: cb355def9561e2d1d4b363f44dcedf5522f0f8a1
https://github.com/llvm/llvm-project/commit/cb355def9561e2d1d4b363f44dcedf5522f0f8a1
Author: Jack Styles <jack.styles at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Lower/OpenMP/Todo/omp-clause-indirect.f90
A flang/test/Parser/OpenMP/declare-target-indirect-tree.f90
A flang/test/Semantics/indirect01.f90
A flang/test/Semantics/indirect02.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[Flang][OpenMP] Add Parsing support for Indirect Clause (#143505)
As part of OpenMP Version 5.1, support for the `indirect` clause was
added for the `declare target` directive. This clause should follow an
`enter` clause, and allows procedure calls to be done indirectly through
OpenMP.
This adds Parsing support for the clause, along with semantics checks.
Currently, lowering for the clause is not supported so a TODO message
will be outputted to the user. It also performs version checking as
`indirect` is only support in OpenMP 5.1 or greater.
See also: #110008
Commit: 90905a638e483dd9040c153785148fcea7c3e412
https://github.com/llvm/llvm-project/commit/90905a638e483dd9040c153785148fcea7c3e412
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
A lldb/test/Shell/ObjectFile/XCOFF/symbol-info.yaml
A lldb/test/Shell/ObjectFile/XCOFF/symbol-info32.yaml
Log Message:
-----------
[lldb][AIX] Added XCOFF ParseSymtab handling (#141577)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
**Description:**
Adding ParseSymtab logic after creating sections. It is able to handle
both 32 and 64 bit symbols,
without the need to add template logic.
This is an incremental PR on top of my previous couple of XCOFF support
commits.
Commit: 437945b28838c71fb32a76f6433cef8807967f71
https://github.com/llvm/llvm-project/commit/437945b28838c71fb32a76f6433cef8807967f71
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Log Message:
-----------
[AArch64][SVE] Move incorrectly placed assert (#144318)
This assert is only valid if FPAfterSVECalleeSaves is true, for the
default layout resolving CSR works correctly.
Commit: 85b110e0419af4b1b9a238b6978029e20010e794
https://github.com/llvm/llvm-project/commit/85b110e0419af4b1b9a238b6978029e20010e794
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M mlir/docs/Dialects/Vector.md
Log Message:
-----------
[mlir][vector] Add documentation note on adding new ops (#144308)
This adds a note requesting that additions of new ops to the Vector
dialect go through an RFC process. The goal is to clarify expectations
for contributors.
Note: this documents an existing (though previously unwritten)
convention. See, e.g.:
* https://discourse.llvm.org/t/rfc-adding-vector-to-elements-op-to-the-vector-dialect
* https://discourse.llvm.org/t/rfc-improving-gather-codegen-for-vector-dialect
Commit: e2551c14d0d9180ccaef9d33c524d83e7813a361
https://github.com/llvm/llvm-project/commit/e2551c14d0d9180ccaef9d33c524d83e7813a361
Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/test/Analysis/NewDelete-checker-test.cpp
Log Message:
-----------
[analyzer] Fix a false memory leak reports involving placement new (#144341)
Placement new does not allocate memory, so it should not be reported as
a memory leak. A recent MallocChecker refactor changed inlining of
placement-new calls with manual evaluation by MallocChecker.
https://github.com/llvm/llvm-project/commit/339282d49f5310a2837da45c0ccc19da15675554
This change avoids marking the value returned by placement new as
allocated and hence avoids the false leak reports.
Note that the there are two syntaxes to invoke placement new:
`new (p) int` and an explicit operator call `operator new(sizeof(int), p)`.
The first syntax was already properly handled by the engine.
This change corrects handling of the second syntax.
CPP-6375
Commit: 308b97a5d48583680f56b888165295c62744b9e5
https://github.com/llvm/llvm-project/commit/308b97a5d48583680f56b888165295c62744b9e5
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/test/Transforms/LICM/funclet.ll
Log Message:
-----------
[LICM] Regenerate test checks (NFC)
Commit: 2c90ebf3a79e25db3e6bcd9b3a66590b5996de4d
https://github.com/llvm/llvm-project/commit/2c90ebf3a79e25db3e6bcd9b3a66590b5996de4d
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
A mlir/test/Target/LLVMIR/omptarget-debug-loop-loc.mlir
Log Message:
-----------
[OMPIRBuilder][debug] Don't drop debug info for loop constructs. (#144393)
In OMPIRBuilder, we have many cases where we don't handle the debug
location correctly while changing the location or insertion point. This
is one of those cases.
Please see the following test program.
```
program main
implicit none
integer i, j
integer array(16384)
!$omp target teams distribute
DO i=1,16384
!$omp parallel do
DO j=1,16384
array(j) = i
ENDDO
!$omp end parallel do
ENDDO
!$omp end target teams distribute
print *, array
end program main
```
When tried to compile with the follownig command
`flang -g -O2 -fopenmp test.f90 -o test --offload-arch=gfx90a`
will fail in the verification with the following errors: `!dbg
attachment points at wrong subprogram for function`
This happens because we were dropping the debug location in the
createCanonicalLoop and the call to the functions like
`__kmpc_distribute_static_4u` get generated without a debug location.
When it gets inlined, the locations inside it are not adjusted as the
call instruction does not have the debug locations
(`llvm/lib/Transforms/Utils/InlineFunction.cpp:fixupLineNumbers`). Later
Verifier finds that the caller have instructions with debug locations
that point to another function and fails.
The fix is simple to not drop the debug location.
Commit: 0f8c72160ec001599ecb29f0fa182c5550f5dd0a
https://github.com/llvm/llvm-project/commit/0f8c72160ec001599ecb29f0fa182c5550f5dd0a
Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/preferred_name_header_unit.cpp
Log Message:
-----------
[C++20][Modules] Disable preferred_name when writing a C++20 header unit (#144377)
https://reviews.llvm.org/D130331 added workaround for named modules
only. But the same issue happens for headees units. Link issue #56490
Commit: 26d082d330e4d8d1fc3194b4b87ede9332a297f5
https://github.com/llvm/llvm-project/commit/26d082d330e4d8d1fc3194b4b87ede9332a297f5
Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/unnecessary-value-param.rst
A clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-coroutine.cpp
Log Message:
-----------
[clang-tidy][performance-unnecessary-value-param] Avoid in coroutines (#140912)
Summary:
Replacing by-value parameters with passing by-reference is not safe for
coroutines because the caller may be executed in parallel with the
callee, which increases the chances of resulting in dangling references
and hard-to-find crashes. See for the reference
[cppcoreguidelines-avoid-reference-coroutine-parameters](https://clang.llvm.org/extra/clang-tidy/checks/cppcoreguidelines/avoid-reference-coroutine-parameters.html).
Test Plan: check-clang-tools
Commit: 5dc632dd56c61fb768424cc8027760490683d00d
https://github.com/llvm/llvm-project/commit/5dc632dd56c61fb768424cc8027760490683d00d
Author: Rolf Morel <rolf.morel at intel.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M mlir/utils/vscode/package-lock.json
M mlir/utils/vscode/package.json
Log Message:
-----------
[MLIR][VSCode] update packages to fix CVE-2022-25883 and CVE-2022-3517 (#144479)
Fixes issue #140869.
Commit: 64bd4858dc2d64311622e793b66094b07ca7bdc5
https://github.com/llvm/llvm-project/commit/64bd4858dc2d64311622e793b66094b07ca7bdc5
Author: Karlo Basioli <k.basioli at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
Log Message:
-----------
Amend enviroment variables in bazel - change from #144391 (#144484)
Commit: e5ad7f4556ba4f31380153f70a8c6186926764e2
https://github.com/llvm/llvm-project/commit/e5ad7f4556ba4f31380153f70a8c6186926764e2
Author: Jesse Huang <jesse.huang at sifive.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
Log Message:
-----------
[RISCV] Move RISCVIndirectBranchTracking before Branch Relaxation (#139993)
The `RISCVIndirectBranchTracking` pass inserts `lpad` instruction and
could change the basic block alignment, so this should not happen after
the branch relaxation as the adjusted offset is possible to exceed the
branch range.
Commit: 97e17e15957bf6f03923ca46301b32cad507f34b
https://github.com/llvm/llvm-project/commit/97e17e15957bf6f03923ca46301b32cad507f34b
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/do_concurrent_delayed_locality.f90
M flang/test/Lower/do_concurrent_local_assoc_entity.f90
M flang/test/Lower/do_concurrent_local_default_init.f90
M flang/test/Lower/loops.f90
M flang/test/Lower/loops3.f90
Log Message:
-----------
Revert "[flang] Enable delayed localization by default for `do concurrent` (#144074)" (#144476)
This reverts commit b5dbf8210a57b986b9802304745f4c5c108cf37b.
Reverting again due to gfortran failure:
https://lab.llvm.org/buildbot/#/builders/17/builds/8868
Commit: dfd00edbabef8094bec663cca9314a950ec56e0d
https://github.com/llvm/llvm-project/commit/dfd00edbabef8094bec663cca9314a950ec56e0d
Author: Karlo Basioli <k.basioli at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M utils/bazel/llvm_configs/llvm-config.h.cmake
Log Message:
-----------
Fix for #144391 not fully addressed by #144484 (#144488)
Commit: 277b2b6da70b488e08b0f0eecba2a4cd1dd01129
https://github.com/llvm/llvm-project/commit/277b2b6da70b488e08b0f0eecba2a4cd1dd01129
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineCastedMaskArithmetic - convert to SDPatternMatch matching. NFC. (#144472)
Commit: aa01e8e9cff9e754b47be57b2f85b962cf1ec9fb
https://github.com/llvm/llvm-project/commit/aa01e8e9cff9e754b47be57b2f85b962cf1ec9fb
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-task-charbox.mlir
Log Message:
-----------
[mlir][OpenMP] Fix broken insertion point for charbox with omp task (#143112)
Fixes #142365
Commit: 00709c306d0a0f60d169ab25f612ed6715e16743
https://github.com/llvm/llvm-project/commit/00709c306d0a0f60d169ab25f612ed6715e16743
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
AArch64: Fix hardcoding calling convention of sincos_stret (NFC) (#144336)
Commit: 4c8f43440955c93a54b9547421513867bc81788a
https://github.com/llvm/llvm-project/commit/4c8f43440955c93a54b9547421513867bc81788a
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
M clang/test/Analysis/analyzer-enabled-checkers.c
M clang/test/Analysis/bugfix-124477.m
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
Log Message:
-----------
[analyzer] Conversion to CheckerFamily: NullabilityChecker (#143735)
This commit converts NullabilityChecker to the new checker family
framework that was introduced in the recent commit
6833076a5d9f5719539a24e900037da5a3979289
This commit removes the dummy checker `nullability.NullabilityBase`
because it was hidden from the users and didn't have any useful role
except for helping the registration of the checker parts in the old
ad-hoc system (which is replaced by the new standardized framework).
Except for the removal of this dummy checker, no functional changes
intended.
Commit: 6f2983765983b9403ae40430da8034d2d1b6e8a4
https://github.com/llvm/llvm-project/commit/6f2983765983b9403ae40430da8034d2d1b6e8a4
Author: Ying Yi <ying.yi at sony.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/ignored-pch.cpp
A clang/test/PCH/Inputs/ignored-pch.h
A clang/test/PCH/ignored-pch.c
Log Message:
-----------
Reland: "[Frontend][PCH]-Add support for ignoring PCH options (-ignore-pch). (#142409)" (#143614)
Visual Studio has an argument to ignore all PCH related switches.
clang-cl has also support option /Y-. Having the same option in clang
would be helpful. This commit is to add support for ignoring PCH options
(-ignore-pch).
The commit includes:
1. Implement -ignore-pch as a Driver option.
2. Add a Driver test and a PCH test.
3. Add a section of -ignore-pch to user manual.
4. Add a release note for the new option '-ignore-pch'.
The change since the original landing:
1. preprocessing-only mode doesn't imply that -include-pch is disabled.
Co-authored-by: Matheus Izvekov <mizvekov at gmail.com>
Commit: 7eda8274fed9a87f25a54616f5009bb68e511b77
https://github.com/llvm/llvm-project/commit/7eda8274fed9a87f25a54616f5009bb68e511b77
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
A mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/vector-contract-i8mm.mlir
Log Message:
-----------
[MLIR] Integration tests for lowering vector.contract to SVE FEAT_I8MM (#140573)
Commit: c377ce1216a8ce73c940d2366a7bf223790f43b4
https://github.com/llvm/llvm-project/commit/c377ce1216a8ce73c940d2366a7bf223790f43b4
Author: Mary Kassayova <mary.kassayova at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/fveclib.c
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/lib/Analysis/TargetLibraryInfo.cpp
A llvm/test/CodeGen/AArch64/replace-with-veclib-libmvec-scalable.ll
A llvm/test/CodeGen/AArch64/replace-with-veclib-libmvec.ll
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-intrinsic-calls.ll
M llvm/test/Transforms/Util/add-TLI-mappings.ll
Log Message:
-----------
[AArch64][VecLib] Add libmvec support for AArch64 targets (#143696)
This patch adds support for the `libmvec` vector library on AArch64
targets. Currently, all `libmvec` functions in GLIBC version 2.40 are
supported. The full list of math functions enabled can be found
[here](https://github.com/bminor/glibc/blob/96abd59bf2a11ddd4e7ccaac840ec13c0b62d3ba/sysdeps/aarch64/fpu/Versions)
(up to GLIBC 2.40).
Previously, `libmvec` was only supported on x86_64 targets. Attempts to
use it on AArch64 resulted in the following error from Clang:
`unsupported option 'libmvec' for target 'aarch64'`.
Commit: 465e3ce9f10019db071dc7794ae9ab22f9fc76f7
https://github.com/llvm/llvm-project/commit/465e3ce9f10019db071dc7794ae9ab22f9fc76f7
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/AArch64/sve-expand-div.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-sdiv-pow2.ll
M llvm/test/CodeGen/AArch64/sve-sdiv-pow2.ll
Log Message:
-----------
[LLVM][CodeGen] Lower ConstantInt vectors like shufflevector base splats. (#144395)
ConstantInt vectors utilise DAG.getConstant() when constructing the
initial DAG. This can have the effect of legalising the constant before
the DAG combiner is run, significant altering the generated code. To
mitigate this (hopefully as a temporary measure) we instead try to
construct the DAG in the same way as shufflevector based splats.
Commit: 71f72f4d5d1b820a3e6147289547821332eaf115
https://github.com/llvm/llvm-project/commit/71f72f4d5d1b820a3e6147289547821332eaf115
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] Move foldMaskedMerge before visitAND. NFC.
Reduces diff in #144342
Commit: d3f13a0732c2d937a4c12cb8b1a61992ee5b0d9c
https://github.com/llvm/llvm-project/commit/d3f13a0732c2d937a4c12cb8b1a61992ee5b0d9c
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/GVN.h
M llvm/lib/Transforms/Scalar/GVN.cpp
Log Message:
-----------
[GVN] MemorySSA for GVN: embed the memory state in symbolic expressions (#123218)
While migrating towards MemorySSA, account for the memory state modeled
by MemorySSA by hashing it, when computing the symbolic expressions for
the memory operations. Likewise, when phi-translating while walking the
CFG for PRE possibilities, see if the value number of an operand may be
refined with one of the value from the incoming edges of the MemoryPhi
associated to the current phi.
Co-authored-by: Momchil Velikov <momchil.velikov at arm.com>
Commit: ce96fdde54c379fa3893f3f07d8233df9e16b9e2
https://github.com/llvm/llvm-project/commit/ce96fdde54c379fa3893f3f07d8233df9e16b9e2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpStack.cpp
Log Message:
-----------
[clang][bytecode] Keep the last chunk in InterpStack::clear() (#144487)
We call clear when checking for potential constant expressions, but that
used to free all the chunks. Keep the last one so we don't have to
re-allocate it.
Commit: 576ced56d78b48e658b0a170603388e4802f6311
https://github.com/llvm/llvm-project/commit/576ced56d78b48e658b0a170603388e4802f6311
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBlock.cpp
Log Message:
-----------
[clang][bytecode] Simplify Block::replacePointer() (#144490)
Try to do less work here instead of a full remove + add.
Commit: 49c6235d1fb3bcecfe37a8e41bec69d6c7dc86ff
https://github.com/llvm/llvm-project/commit/49c6235d1fb3bcecfe37a8e41bec69d6c7dc86ff
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/test/CodeGen/PowerPC/aix-vector-vararg-fixed-caller.ll
Log Message:
-----------
[PowerPC] Regenerate MIR test checks (NFC)
Commit: 2d336e7c5e821383816a9dca080f713747cc9e1e
https://github.com/llvm/llvm-project/commit/2d336e7c5e821383816a9dca080f713747cc9e1e
Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp
M clang/test/Analysis/taint-generic.c
Log Message:
-----------
[analyzer] Avoid contradicting assumption in tainted div-by-0 error node (#144491)
This patch corrects the state of the error node generated by the
core.DivideZero checker when it detects potential division by zero
involving a tainted denominator.
The checker split in
https://github.com/llvm/llvm-project/pull/106389/commits/91ac5ed10a154410c246d985752c1bbfcf23b105
started to introduce a conflicting assumption about the denominator into
the error node:
Node with the Bug Report "Division by a tainted value, possibly zero"
has an assumption "denominator != 0".
This has been done as a shortcut to continue analysis with the correct
assumption *after* the division - if we proceed, we can only assume the
denominator was not zero. However, this assumption is introduced
one-node too soon, leading to a self-contradictory error node.
In this patch, I make the error node with assumption of zero denominator
fatal, but allow analysis to continue on the second half of the state
split with the assumption of non-zero denominator.
---
CPP-6376
Commit: 990d2540bf0545cc4024c3718069f6d0b42c461b
https://github.com/llvm/llvm-project/commit/990d2540bf0545cc4024c3718069f6d0b42c461b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] isAddSubOrSubAdd - convert to SDPatternMatch matching. NFC. (#144486)
Commit: 875b36a8742437b95f623bab1e0332562c7b4b3f
https://github.com/llvm/llvm-project/commit/875b36a8742437b95f623bab1e0332562c7b4b3f
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
Log Message:
-----------
[mlir] fix MemRefToLLVM lowering of atomic operations (#139045)
We have been confusingly, and arguably incorrectly, lowering `m**imumf`
atomic RMW operations in the MemRef dialect to `fm**` atomic RMW
operations in the LLVM dialect, which have different NaN-propagation
semantics: `m**imumf` propagates NaNs from either operand whereas
`fm**`, which lowers to the `fm**num` intrinsic returns the non-NaN
operand. This also contradicts the lowering of `arith.m**imumf` and
`arith.m**numf` operations.
Change the lowering to match the terminology in arith.
Add tests for these lowerings.
Keep a debug message in case of surprising behavior downstream (the code
may be producing more NaNs now).
Commit: 9700930bd90a099f702332cf86dd898f00840f99
https://github.com/llvm/llvm-project/commit/9700930bd90a099f702332cf86dd898f00840f99
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] detectZextAbsDiff - convert to SDPatternMatch matching. NFC. (#144498)
Match the entire ABS(SUB(ZEXT(vXi8),ZEXT(vXi8))) pattern and simplify the logic in combineBasicSADPattern accordingly
Commit: 12611a7fc71376e88aa01e3f0bbc74517f1a1703
https://github.com/llvm/llvm-project/commit/12611a7fc71376e88aa01e3f0bbc74517f1a1703
Author: Denzel-Brian Budii <73462654+chios202 at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M mlir/include/mlir/Query/Matcher/Marshallers.h
M mlir/include/mlir/Query/Matcher/MatchFinder.h
M mlir/include/mlir/Query/Matcher/MatchersInternal.h
M mlir/include/mlir/Query/Matcher/SliceMatchers.h
M mlir/include/mlir/Query/Matcher/VariantValue.h
M mlir/lib/Query/Matcher/CMakeLists.txt
A mlir/lib/Query/Matcher/MatchersInternal.cpp
M mlir/lib/Query/Matcher/RegistryManager.cpp
M mlir/lib/Query/Matcher/VariantValue.cpp
M mlir/lib/Query/Query.cpp
A mlir/test/mlir-query/backward-slice-union.mlir
R mlir/test/mlir-query/complex-test.mlir
A mlir/test/mlir-query/forward-slice-by-predicate.mlir
A mlir/test/mlir-query/logical-operator-test.mlir
A mlir/test/mlir-query/slice-function-extraction.mlir
M mlir/tools/mlir-query/mlir-query.cpp
Log Message:
-----------
[mlir] Improve mlir-query by adding matcher combinators (#141423)
Whereas backward-slice matching provides support to limit traversal by
specifying the desired depth level, this pull request introduces support
for limiting traversal with a nested matcher (adding forward-slice
also). It also adds support for variadic operators, including `anyOf`
and `allOf`. Rather than simply stopping traversal when an operation
named foo is encountered, one can now define a matcher that specifies
different exit conditions. Variadic support implementation within
mlir-query is very similar to clang-query.
Commit: 087d83e0c6d94c1ad6a68b089950d05185d0e043
https://github.com/llvm/llvm-project/commit/087d83e0c6d94c1ad6a68b089950d05185d0e043
Author: Gaëtan Bossu <gaetan.bossu at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] vectorizeStores: Name things a bit more clearly (NFC) (#144511)
I believe the new variable names better convey their purpose. However, I
also believe that function is more complex than it needs to be, and this
tiny patch should be seen as a first step towards (maybe) further
refactoring.
The previous names were very generic (Size, Sz, Cnt, StartIdx). This
made it easy to get confused given that the vecotrizeStores() function
is already complex enough.
My hope would be to eventually have a function concise enough to clearly
see what are the different strategies being attempted to vectorise a
group of related store instructions.
Commit: cb011d3199e1160ad2706cb5b1d43692fa4784d8
https://github.com/llvm/llvm-project/commit/cb011d3199e1160ad2706cb5b1d43692fa4784d8
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/cuda_wrappers/bits/c++config.h
Log Message:
-----------
[CUDA][HIP] Add a __device__ version of std::__glibcxx_assert_fail() (#136133)
libstdc++ 15 uses the non-constexpr function
std::__glibcxx_assert_fail() to trigger compilation errors when the
__glibcxx_assert(cond) macro is used in a constantly evaluated context.
Compilation fails when using code from the libstdc++ (such as
std::array) on device code, since these assertions invoke a
non-constexpr host function from device code.
This patch proposes a cuda wrapper header "bits/c++config.h" which adds
a __device__ version of std::__glibcxx_assert_fail().
Solves SWDEV-518041
Commit: 3377b56338d93760507e1707ebde48536e28ee1c
https://github.com/llvm/llvm-project/commit/3377b56338d93760507e1707ebde48536e28ee1c
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
R clang/lib/Driver/ToolChains/Managarm.cpp
R clang/lib/Driver/ToolChains/Managarm.h
M clang/lib/Lex/InitHeaderSearch.cpp
R clang/test/Driver/Inputs/basic_managarm_tree/lib/aarch64-managarm-mlibc/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/lib/riscv64-managarm-mlibc/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/lib/x86_64-managarm-mlibc/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/lib64/aarch64-managarm-mlibc/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/lib64/riscv64-managarm-mlibc/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/lib64/x86_64-managarm-mlibc/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/usr/include/aarch64-managarm-mlibc/c++/10/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/usr/include/c++/10/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/usr/include/c++/v1/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/usr/include/riscv64-managarm-mlibc/c++/10/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/usr/include/x86_64-managarm-mlibc/c++/10/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/aarch64-managarm-mlibc/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbegin.o
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbeginS.o
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbeginT.o
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbegin.o
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbeginS.o
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbeginT.o
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbegin.o
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbeginS.o
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbeginT.o
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/riscv64-managarm-mlibc/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/x86_64-managarm-mlibc/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib64/.keep
R clang/test/Driver/managarm.cpp
M clang/test/Preprocessor/init.c
M clang/test/Preprocessor/predefined-macros-no-warnings.c
Log Message:
-----------
Revert "[clang] Add managarm support" (#144514)
Reverts llvm/llvm-project#139271
There are multiple failing build bots:
https://lab.llvm.org/buildbot/#/builders/10/builds/7482
https://lab.llvm.org/buildbot/#/builders/11/builds/17473
Commit: 5f841a6284900026929edcbe8d2b98ce813e0bbc
https://github.com/llvm/llvm-project/commit/5f841a6284900026929edcbe8d2b98ce813e0bbc
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M flang/include/flang/Support/OpenMP-features.h
M flang/test/Driver/flang-openmp-version-macro.f90
Log Message:
-----------
[flang][OpenMP] Set _OPENMP macro for version 6.0 (#144410)
Commit: b91936aeffb798b7deb67aff7bc5c84acea5452e
https://github.com/llvm/llvm-project/commit/b91936aeffb798b7deb67aff7bc5c84acea5452e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
Log Message:
-----------
AMDGPU: Combine nnan fminimum/fmaximum to fminnum_ieee/fmaxnum_ieee (#142217)
This improves codegen for gfx950, where fminimum/fmaximum are
legal through fminimum3/fmaximum3, so may have an additional
encoding cost.
Commit: b4e39e4ff923334a8a1fdcc6d92b01d3885a01f2
https://github.com/llvm/llvm-project/commit/b4e39e4ff923334a8a1fdcc6d92b01d3885a01f2
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/cmake/config-ix.cmake
M llvm/include/llvm/Config/config.h.cmake
M llvm/lib/Support/Unix/Process.inc
Log Message:
-----------
[LLVM] [Support] Query the terminal width using `ioctl()` (#143514)
On unix systems, we were trying to determine the terminal width using
the `COULMNS` environment variable. Unfortunately, `COLUMNS` is not
exported by all shells and thus not available on some systems.
We were previously using `ioctl()` for this; fall back to doing so if `COLUMNS`
does not exist or does not store a positive integer.
This essentially reverts a3eb3d3d92d037fe3c9deaad87f6fc42fe9ea766 and
parts of https://reviews.llvm.org/D61326.
For more information, see #139499.
Fixes #139499.
Commit: 3451cd5d206f29df5b6ab5c200b7b8b17f3f2e3f
https://github.com/llvm/llvm-project/commit/3451cd5d206f29df5b6ab5c200b7b8b17f3f2e3f
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/test/CodeGen/PowerPC/aix-vector-vararg-caller.ll
Log Message:
-----------
[PowerPC] Regenerate MIR test checks (NFC)
Commit: 76ea1db1746db254716aafbc992b637cd10c6ea3
https://github.com/llvm/llvm-project/commit/76ea1db1746db254716aafbc992b637cd10c6ea3
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
A llvm/test/CodeGen/PowerPC/aix-cc-byval-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval.ll
Log Message:
-----------
[PowerPC] Split test into assembly and MIR variants (NFC)
So that both can be generated.
Commit: 977d8a4bcd83797217433709201922b9deb97ae2
https://github.com/llvm/llvm-project/commit/977d8a4bcd83797217433709201922b9deb97ae2
Author: Vincent <llvm at viceroygroup.ca>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Scope.h
M clang/lib/Sema/SemaExpr.cpp
A clang/test/Sema/gh87867.c
Log Message:
-----------
[clang][Sema] Fixed Compound Literal is not Constant Expression (#143852)
Added a check for a compound literal hiding inside a function.
fixes #87867
Commit: 816ab1af0da1dc833f487933e7d6fb470d844001
https://github.com/llvm/llvm-project/commit/816ab1af0da1dc833f487933e7d6fb470d844001
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[NFCI][TableGen][DecoderEmitter] Cull Op handling when possible (#142974)
TryDecode/CheckPredicate/SoftFail MCD ops are not used by many targets.
Track the set of opcodes that were emitted and emit code for handling
TryDecode/CheckPredicate/SoftFail ops when decoding only if there were
emitted. This is purely eliminating dead code in the generated
`decodeInstruction` function.
This results in the following reduction in the size of the Disassembler
.so files with a release x86_64 release build on Linux:
```
Target Old Size New Size % reduction
build/lib/libLLVMAArch64Disassembler.so.21.0git 256656 256656 0.00
build/lib/libLLVMAMDGPUDisassembler.so.21.0git 813000 808168 0.59
build/lib/libLLVMARCDisassembler.so.21.0git 44816 43536 2.86
build/lib/libLLVMARMDisassembler.so.21.0git 281744 278808 1.04
build/lib/libLLVMAVRDisassembler.so.21.0git 36040 34496 4.28
build/lib/libLLVMBPFDisassembler.so.21.0git 26248 23168 11.73
build/lib/libLLVMCSKYDisassembler.so.21.0git 55960 53632 4.16
build/lib/libLLVMHexagonDisassembler.so.21.0git 115952 113416 2.19
build/lib/libLLVMLanaiDisassembler.so.21.0git 24360 21008 13.76
build/lib/libLLVMLoongArchDisassembler.so.21.0git 58584 56168 4.12
build/lib/libLLVMM68kDisassembler.so.21.0git 57264 53880 5.91
build/lib/libLLVMMSP430Disassembler.so.21.0git 28896 28440 1.58
build/lib/libLLVMMipsDisassembler.so.21.0git 123128 120568 2.08
build/lib/libLLVMPowerPCDisassembler.so.21.0git 80656 78096 3.17
build/lib/libLLVMRISCVDisassembler.so.21.0git 154080 150200 2.52
build/lib/libLLVMSparcDisassembler.so.21.0git 42040 39568 5.88
build/lib/libLLVMSystemZDisassembler.so.21.0git 97056 94552 2.58
build/lib/libLLVMVEDisassembler.so.21.0git 83944 81352 3.09
build/lib/libLLVMWebAssemblyDisassembler.so.21.0git 25280 25280 0.00
build/lib/libLLVMX86Disassembler.so.21.0git 2920624 2920624 0.00
build/lib/libLLVMXCoreDisassembler.so.21.0git 48320 44288 8.34
build/lib/libLLVMXtensaDisassembler.so.21.0git 42248 35840 15.17
```
Commit: 9fed480f183d9cfa784228cd77b2c0a642fca697
https://github.com/llvm/llvm-project/commit/9fed480f183d9cfa784228cd77b2c0a642fca697
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/callcont-fallthru.s
Log Message:
-----------
[BOLT] Explicitly check for returns when extending call continuation profile (#143295)
Call continuation logic relies on assumptions about fall-through origin:
- the branch is external to the function,
- fall-through start is at the beginning of the block,
- the block is not an entry point or a landing pad.
Leverage trace information to explicitly check whether the origin is a
return instruction, and defer to checks above only in case of
DSO-external branch source.
This covers both regular and BAT cases, addressing call continuation
fall-through undercounting in the latter mode, which improves BAT
profile quality metrics. For example, for one large binary:
- CFG discontinuity 21.83% -> 0.00%,
- CFG flow imbalance 10.77%/100.00% -> 3.40%/13.82% (weighted/worst)
- CG flow imbalance 8.49% —> 8.49%.
Depends on #143289.
Test Plan: updated callcont-fallthru.s
Commit: 917bc909673a491fe070fe41c4ad112bcffd4c06
https://github.com/llvm/llvm-project/commit/917bc909673a491fe070fe41c4ad112bcffd4c06
Author: William Moses <gh at wsmoses.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
Log Message:
-----------
[MLIR][LLVMIR] Mark Funcop as affinescope (#144456)
All functions are conceptually an affine scope.
Commit: de3339063ae5a926ab2ed17651a0e628b9c34fb0
https://github.com/llvm/llvm-project/commit/de3339063ae5a926ab2ed17651a0e628b9c34fb0
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/config.bzl
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
M utils/bazel/llvm_configs/config.h.cmake
Log Message:
-----------
[bazel] Port b4e39e4ff923334a8a1fdcc6d92b01d3885a01f2
Commit: dc72b91ffedf791a44a1af19b00064a2a3c59ab9
https://github.com/llvm/llvm-project/commit/dc72b91ffedf791a44a1af19b00064a2a3c59ab9
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
Log Message:
-----------
[AArch64] Report icmp as free if it can be folded into ands (#143286)
Since changing the backend to fold x >= 1 / x < 1 -> x > 0 / x <= 0 and
x <= -1 / x > -1 -> x > 0 / x <= 0, this should be reflected in the
cost.
Commit: 414710c753d87d314529857e15d1ad01a76c6605
https://github.com/llvm/llvm-project/commit/414710c753d87d314529857e15d1ad01a76c6605
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/isCommutative.ll
Log Message:
-----------
[SLP] Fix isCommutative to check uses of the original instruction instead of the converted instruction. (#143094)
Commit: 35f6d917206d79ab0e3d382a36ca05ccc13983d5
https://github.com/llvm/llvm-project/commit/35f6d917206d79ab0e3d382a36ca05ccc13983d5
Author: Richard Howell <rmaz at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lld/MachO/DriverUtils.cpp
A lld/test/MachO/reexport-with-symlink.s
Log Message:
-----------
[lld] check cache in loadDylib before real_path (#143595)
Commit: 0a7b0c844c59189ad4f5072b73d7dfdfd78e76b7
https://github.com/llvm/llvm-project/commit/0a7b0c844c59189ad4f5072b73d7dfdfd78e76b7
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.h
M lldb/test/API/tools/lldb-dap/save-core/TestDAP_save_core.py
Log Message:
-----------
[lldb][Expression] Remove IR pointer checker (#144483)
Currently when jitting expressions, LLDB scans the IR instructions of
the `$__lldb_expr` and will insert a call to a utility function for each
load/store instruction. The purpose of the utility funciton is to
dereference the load/store operand. If that operand was an invalid
pointer the utility function would trap and LLDB asks the IR checker
whether it was responsible for the trap, in which case it prints out an
error message saying the expression dereferenced an invalid pointer.
This is a lot of setup for not much gain. In fact, creating/running this
utility expression shows up as ~2% of the expression evaluation time
(though we cache them for subsequent expressions). And the error message
we get out of it is arguably less useful than if we hadn't instrumented
the IR. It was also untested.
Before:
```
(lldb) expr int a = *returns_invalid_ptr()
error: Execution was interrupted, reason: Attempted to dereference an invalid pointer..
The process has been returned to the state before expression evaluation.
```
After:
```
(lldb) expr int a = *returns_invalid_ptr()
error: Expression execution was interrupted: EXC_BAD_ACCESS (code=1, address=0x5).
The process has been returned to the state before expression evaluation.
```
This patch removes this IR checker.
Commit: 8f797542258f6e682eb251d0851922a1ac08fb44
https://github.com/llvm/llvm-project/commit/8f797542258f6e682eb251d0851922a1ac08fb44
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Transforms/IndVarSimplify/simplify-icmp-operands-order.ll
Log Message:
-----------
[SCEV] Better preserve wrapping info in SimplifyICmpOperands for UGE. (#144404)
Update SimplifyICmpOperands to only try subtracting 1 from RHS first, if
RHS is an op we can fold the subtract directly into. Otherwise try
adding to LHS first, as we can preserve NUW flags.
This improves results in a few cases, including the modified test case
from berkeley-abc and new code to be added in
https://github.com/llvm/llvm-project/pull/128061.
Note that there are more cases where the results can be improved by
better ordering here which I'll try to investigate as follow-up.
PR: https://github.com/llvm/llvm-project/pull/144404
Commit: 0fb198e132eff36281a20698588d815c3c30f991
https://github.com/llvm/llvm-project/commit/0fb198e132eff36281a20698588d815c3c30f991
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/horizontal-sum.ll
Log Message:
-----------
[X86] Remove combineShuffleOfConcatUndef fold (#144524)
We can now let a mixture of combineConcatVectorOps and target shuffle combining handle this instead of creating ISD::CONCAT_VECTORS nodes and hoping they will merge properly.
In the horizontal-sum.ll test changes we were creating a ISD::CONCAT_VECTORS node that was being split shortly after, but not before causing issues with HADD folding due to additional uses.
Commit: 4cfe0d7f4c2c39dd90e27258aa448789f2ba4278
https://github.com/llvm/llvm-project/commit/4cfe0d7f4c2c39dd90e27258aa448789f2ba4278
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
A flang/test/Lower/OpenMP/copyprivate5.f90
Log Message:
-----------
[flang][OpenMP] Support using copyprivate with fir.boxchar arguments (#144092)
Implement the lowering for passing a fir.boxchar argument to the
copyprivate clause.
Resolves https://github.com/llvm/llvm-project/issues/142123.
---------
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: 549bc55cc39bb9fb22df464bcf3b7d4d4a5ff507
https://github.com/llvm/llvm-project/commit/549bc55cc39bb9fb22df464bcf3b7d4d4a5ff507
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/CMakeLists.txt
M mlir/test/Target/SPIRV/constant.mlir
M mlir/test/lit.cfg.py
A mlir/test/lit.local.cfg
M mlir/test/lit.site.cfg.py.in
Log Message:
-----------
[mlir][spirv] Fix int type declaration duplication when serializing (#143108)
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: 7ec103a984ff114d24f26d935fe2292379269b53
https://github.com/llvm/llvm-project/commit/7ec103a984ff114d24f26d935fe2292379269b53
Author: Karlo Basioli <k.basioli at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
Port #143108 to bazel (#144538)
Commit: 9eb0020555fc643582b2802abb8c1bc92059c248
https://github.com/llvm/llvm-project/commit/9eb0020555fc643582b2802abb8c1bc92059c248
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/IRSimilarityIdentifier.h
M llvm/include/llvm/Analysis/PtrUseVisitor.h
M llvm/include/llvm/IR/InstVisitor.h
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/lib/Analysis/AliasSetTracker.cpp
M llvm/lib/Analysis/CallGraph.cpp
M llvm/lib/Analysis/DemandedBits.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/lib/Transforms/Scalar/ADCE.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNHoist.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/lib/Transforms/Utils/Evaluator.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Remove a swathe of debug-intrinsic code (#144389)
Seeing how we can't generate any debug intrinsics any more: delete a
variety of codepaths where they're handled. For the most part these are
plain deletions, in others I've tweaked comments to remain coherent, or
added a type to (what was) type-generic-lambdas.
This isn't all the DbgInfoIntrinsic call sites but it's most of the
simple scenarios.
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: c9a87a50aee3c91f36d33c170d5131bcc370c289
https://github.com/llvm/llvm-project/commit/c9a87a50aee3c91f36d33c170d5131bcc370c289
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AMDGPU/external-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelement-single-use-many-nodes.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
Log Message:
-----------
[SLPVectorizer] Use accurate cost for external users of resize shuffles (#137419)
When implementing the vectorization, we potentially need to add shuffles
for external users. In such cases, we may be shuffling a smaller vector
into a larger vector. When this happens `ResizeToVF` will just build a
poison padded identity vector. Then the to build the final shuffle, we
just use the `SK_InsertSubvector` mask.
This is possibly clearer by looking at the included test in
SLPVectorizer/AMDGPU/external-shuffle.ll
In the exit block we have a bunch of shuffles to glue the vectorized
tree match the `InsertElement` users. `TMP25` holds the result of
resizing the v2i16 vectorized sequence to match the `InsertElement` size
v16i16. Then `TMP26` is the final shuffle which replaces the
`InsertElement` sequence. This is just an insertsubvector.
However, when calculating the cost for these shuffles, we aren't
modelling this correctly. `ResizeToVF` will indicate to
`performExtractsShuffleAction` that we cannot use the original mask due
to the resize shuffle. The consequence is that the cost calculation uses
a different shuffle mask than what is ultimately used.
Going back to the included test, we can consider again `TMP26`. Clearly
we can see the shuffle uses a mask {0, 1, 2, 3, 16, 17, poison ..}.
However, we will currently calculate the cost with a mask {0, 1, 2, 3,
20, 21, ...} we have replaced 16 and 17 with 20 and 21 (Index + Vector
Size). Queries like BasicTTImpl::improveShuffleKindFromMask will not
recognize this as an `SK_InsertSubvector` mask, and targets which have
reduced costs for `SK_InsertSubvector` will not accurately calculate the
cost.
Commit: 02b78ff9c639993356ccc72b847128fd1ff7f2ba
https://github.com/llvm/llvm-project/commit/02b78ff9c639993356ccc72b847128fd1ff7f2ba
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/Option/OptSpecifier.h
M llvm/include/llvm/Transforms/IPO.h
M llvm/include/llvm/Transforms/Utils/PromoteMemToReg.h
Log Message:
-----------
[llvm] include Compiler.h in a few headers where it was missed (#144464)
Add missing `#include "llvm/Support/Compiler.h"` in a few LLVM headers
that use the `LLVM_ABI` macro.
Commit: 14286244f1dca9300ead8bf83f049df2ffa97180
https://github.com/llvm/llvm-project/commit/14286244f1dca9300ead8bf83f049df2ffa97180
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/IROutliner.cpp
Log Message:
-----------
Follow up to 9eb0020555, squelch unused variable warning
It turns out that this now-deleted debug-intrinsic code was the only use of
CI.
Commit: 1410e69b641182e942470a90d4a0bb5a2910805f
https://github.com/llvm/llvm-project/commit/1410e69b641182e942470a90d4a0bb5a2910805f
Author: Steven Perron <stevenperron at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
A llvm/test/CodeGen/SPIRV/constant/spec-constant.ll
Log Message:
-----------
[SPIRV] Allow __spirv_SpecConstant in Vulkan shaders (#143543)
There is a builtin __spirv_SpecConstant that the SPIR-V backend expands
into a specialization constant. However, it is currently only enable for
OpenCL shaders, and not the graphic shaders.
We want to use it for specialization constants coming from HLSL, so we
are enabling it for graphic shaders as well.
Implements https://github.com/llvm/wg-hlsl/pull/287
Fixes https://github.com/llvm/llvm-project/issues/142991
Commit: c80282d333d7248c8a34694ce1bec9a40681c1c5
https://github.com/llvm/llvm-project/commit/c80282d333d7248c8a34694ce1bec9a40681c1c5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
M llvm/test/CodeGen/AMDGPU/maximumnum.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.ll
Log Message:
-----------
AMDGPU: Directly select minimumnum/maximumnum with ieee_mode=0 (#141903)
The hardware min/max follow the IR rules with IEEE mode disabled,
so we can avoid the canonicalizes of the input. We lose the quieting
of a signaling nan if both inputs are nans, but we only require that
with strictfp.
Commit: 72fb8ae541dcb6d4ab24283bd91a1fc64a9b7e3b
https://github.com/llvm/llvm-project/commit/72fb8ae541dcb6d4ab24283bd91a1fc64a9b7e3b
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lld/test/ELF/lto/aarch64-pac-got-func.ll
Log Message:
-----------
[lld][test][PAC] Do not rely on concrete offsets in LTO tests (#143358)
When changing codegen (e.g. in #130809), offsets in binaries produced by
LTO tests might change. We do not need to match concrete offset values,
it's enough to ensure that hex values in particular places are
identical.
---------
Co-authored-by: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Commit: 4ced29b8482e3537da7d27d410bf7947b0666b4c
https://github.com/llvm/llvm-project/commit/4ced29b8482e3537da7d27d410bf7947b0666b4c
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.cpp
Log Message:
-----------
[lldb][Expression] Don't create Objective-C IR checker for pure-C++ targets/frames (#144503)
There's no need to create this utility function (and run it) for
targets/frames that aren't Objective-C/Objective-C++.
Commit: a5f5f1209aa122ee295ae0dc0f1ee594ad988ecd
https://github.com/llvm/llvm-project/commit/a5f5f1209aa122ee295ae0dc0f1ee594ad988ecd
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
Log Message:
-----------
[AMDGPU] Use subtarget feature for v_lshl_add_u64 pattern. NFC. (#144544)
Following on from #133723, use the new subtarget feature for the
selection pattern as well as for the instruction definition.
Commit: cd4e3843395329538feb1c29cd582471b482caf7
https://github.com/llvm/llvm-project/commit/cd4e3843395329538feb1c29cd582471b482caf7
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M flang/test/Semantics/modfile75.F90
Log Message:
-----------
[flang][test] Removed temporary workaround for buildbots.
Commit: cf637b7e3554976419a0d672ad4c252137dc34f3
https://github.com/llvm/llvm-project/commit/cf637b7e3554976419a0d672ad4c252137dc34f3
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/parallel-sections01.f90
A flang/test/Semantics/OpenMP/sections-goto.f90
M flang/test/Semantics/OpenMP/sections02.f90
Log Message:
-----------
[flang][OpenMP] Fix goto within SECTION (#144502)
Previously we didn't push any context for SECTION and they are not
modelled with differing scopes and so goto detection couldn't tell that
GOTOs between two SECTIONs were between constructs rather than just
staying inside of the parent SECTIONS construct.
Fixes #143231
Commit: 0108a5908cab5e418c683ef9b6e1810755344b5e
https://github.com/llvm/llvm-project/commit/0108a5908cab5e418c683ef9b6e1810755344b5e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
A llvm/test/Transforms/SLPVectorizer/SystemZ/non-power-2-subvector-extract.ll
Log Message:
-----------
[SLP]Fix a crash on an subvector size calculation for non-power-of-2 vector
Patch fixes cost estimation for the extractelements from non-power-of-2
vectors, defined as subvector extracts. In this case the subvector size
might be not adjusted to a whole register size, need to get the minimum
between whole vector size and the actual difference to prevent compiler
crash.
Fixes #143513
Commit: 00139f10c3cd4118de7148635c820bb42843287a
https://github.com/llvm/llvm-project/commit/00139f10c3cd4118de7148635c820bb42843287a
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/bug26185-2.ll
M llvm/test/CodeGen/NVPTX/bug26185.ll
M llvm/test/CodeGen/NVPTX/i1-ext-load.ll
M llvm/test/CodeGen/NVPTX/ldu-ldg.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
Log Message:
-----------
[NVPTX] Cleanup ld/st lowering (#143936)
Commit: eb31c422d0dc816bf285a81bf92690d4d16273ed
https://github.com/llvm/llvm-project/commit/eb31c422d0dc816bf285a81bf92690d4d16273ed
Author: Garvit Gupta <quic_garvgupt at quicinc.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/docs/Toolchain.rst
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/include/c++/8.2.1/.keep
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/.keep
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/crt0.o
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/bin/aarch64-none-elf-ld
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtbegin.o
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtend.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crt0.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crtbegin.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crtend.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/bin/aarch64-none-elf-ld
A clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/include/c++/8.2.1/.keep
A clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/.keep
A clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/crt0.o
A clang/test/Driver/Inputs/basic_arm_gcc_tree/bin/armv6m-none-eabi-ld
A clang/test/Driver/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtbegin.o
A clang/test/Driver/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtend.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crt0.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crtbegin.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crtend.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/bin/armv6m-none-eabi-ld
A clang/test/Driver/aarch64-gnutools.c
A clang/test/Driver/aarch64-toolchain-extra.c
A clang/test/Driver/aarch64-toolchain.c
A clang/test/Driver/arm-gnutools.c
A clang/test/Driver/arm-toolchain-extra.c
A clang/test/Driver/arm-toolchain.c
M clang/test/Driver/baremetal.cpp
A clang/test/Driver/check-no-multlib-warning.c
Log Message:
-----------
[Driver] Add support for GCC installation detection in Baremetal toolchain (#121829)
This patch introduces enhancements to the Baremetal toolchain to support
GCC toolchain detection.
- If the --gcc-install-dir or --gcc-toolchain options are provided and
point to valid paths, the sysroot is derived from those locations.
- If not, the logic falls back to the existing sysroot inference
mechanism already present in the Baremetal toolchain.
- Support for adding include paths for the libstdc++ library has also
been added.
Additionally, the restriction to always use the integrated assembler has
been removed. With a valid GCC installation, the GNU assembler can now
be used as well.
This patch currently updates and adds tests for the ARM target only.
RISC-V-specific tests will be introduced in a later patch, once the
RISCVToolChain is fully merged into the Baremetal toolchain. At this
stage, there is no way to test the RISC-V target within this PR.
RFC:
https://discourse.llvm.org/t/merging-riscvtoolchain-and-baremetal-toolchains/75524
Commit: e6a41399cb8796e5d18940d49b0151704568321a
https://github.com/llvm/llvm-project/commit/e6a41399cb8796e5d18940d49b0151704568321a
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M libc/src/__support/wchar/character_converter.cpp
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/wchar/CMakeLists.txt
A libc/test/src/__support/wchar/utf8_to_32_test.cpp
Log Message:
-----------
Reland "[libc] utf8 to 32 CharacterConverter" (#144450)
Reverts llvm/llvm-project#144446
Figured out the issue, so creating a new pull request.
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 65d590e8d012df9dabbf8b3ec929fd1543c7398a
https://github.com/llvm/llvm-project/commit/65d590e8d012df9dabbf8b3ec929fd1543c7398a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineLogicBlendIntoConditionalNegate - convert to SDPatternMatch matching. NFC. (#144536)
Commit: c66be289901b3f035187d391e80e3610d7d6232e
https://github.com/llvm/llvm-project/commit/c66be289901b3f035187d391e80e3610d7d6232e
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/Floating.h
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/IntegralAP.h
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/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/Program.h
M clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Allocate IntegralAP and Floating types using an allocator (#144246)
Both `APInt` and `APFloat` will heap-allocate memory themselves using
the system allocator when the size of their data exceeds 64 bits.
This is why clang has `APNumericStorage`, which allocates its memory
using an allocator (via `ASTContext`) instead. Calling `getValue()` on
an ast node like that will then create a new `APInt`/`APFloat` , which
will copy the data (in the `APFloat` case, we even copy it twice).
That's sad but whatever.
In the bytecode interpreter, we have a similar problem. Large integers
and floating-point values are placement-new allocated into the
`InterpStack` (or into the bytecode, which is a `vector<std::byte>`).
When we then later interrupt interpretation, we don't run the destructor
for all items on the stack, which means we leak the memory the
`APInt`/`APFloat` (which backs the `IntegralAP`/`Floating` the
interpreter uses).
Fix this by using an approach similar to the one used in the AST. Add an
allocator to `InterpState`, which is used for temporaries and local
values. Those values will be freed at the end of interpretation. For
global variables, we need to promote the values to global lifetime,
which we do via `InitGlobal` and `FinishInitGlobal` ops.
Interestingly, this results in a slight _improvement_ in compile times:
https://llvm-compile-time-tracker.com/compare.php?from=6bfcdda9b1ddf0900f82f7e30cb5e3253a791d50&to=88d1d899127b408f0fb0f385c2c58e6283195049&stat=instructions:u
(but don't ask me why).
Fixes https://github.com/llvm/llvm-project/issues/139012
Commit: 9ec75a50bc48c84c68430f113332769d23481ef5
https://github.com/llvm/llvm-project/commit/9ec75a50bc48c84c68430f113332769d23481ef5
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
R llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
R llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsMCInstLower.cpp
M llvm/lib/Target/Mips/MipsTargetObjectFile.cpp
Log Message:
-----------
MIPS: Replace MipsMCExpr with MCSpecifierExpr
Commit: 382e3fdbb476a5d5771b315daedcd05a15883fbc
https://github.com/llvm/llvm-project/commit/382e3fdbb476a5d5771b315daedcd05a15883fbc
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
Log Message:
-----------
[lldb][Formatter] Get element type for unordered_maps from __hash_table::value_type (#144517)
https://github.com/llvm/llvm-project/pull/143501 changes usage of
`__hash_value_type` in libcxx to an empty tag type. This type will no
longer have a definition in DWARF. Currently the LLDB unordered_map
formatter deduces the map's `element_type` by looking at the `__cc_`
member of `__hash_value_type`. But that will no longer work because we
only have its forward declaration. Since what we're really after is the
type that `__hash_value_type` is wrapping, we can just look at the
`__hash_table::value_type` typedef. With
https://github.com/llvm/llvm-project/pull/143501 that will now point to
the `std::pair` element type (which used to be what we got from
`__cc_`).
TBD: need to double-check this works for older layouts. Quick glance at
the code makes me suspicious of cases like `unordered_map<std::pair<int,
int>, int>`
Commit: 4e884dd993e040f7ccd83ecdc3c4570d23a42ee6
https://github.com/llvm/llvm-project/commit/4e884dd993e040f7ccd83ecdc3c4570d23a42ee6
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
R llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp
Log Message:
-----------
SPARC: Remove SparcMCExpr.h
Commit: 0c608175c11cf0ce797be7575a7c8d8ebcdecbd8
https://github.com/llvm/llvm-project/commit/0c608175c11cf0ce797be7575a7c8d8ebcdecbd8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] matchLogicBlend - convert to SDPatternMatch matching. NFC. (#144546)
Removes a LOT of commutative matching.
Commit: b14e03d8555043bc35e9c75fff7f52d28950b3ab
https://github.com/llvm/llvm-project/commit/b14e03d8555043bc35e9c75fff7f52d28950b3ab
Author: nerix <nerixdev at outlook.de>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp
M lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/TestDataFormatterLibcxxStringView.py
Log Message:
-----------
[LLDB] Consolidate C++ string buffer summaries (#144258)
As part of https://github.com/llvm/llvm-project/pull/143177, I moved the
non-libc++ specific formatting of `std::string`s out to `CxxStringTypes`
as MSVC's STL `std::string` can also be thought of a pointer+size pair.
I named this kind of string "string buffer".
This PR picks that change, so the MSVC PR can be smaller.
Unfortunately, libstdc++'s `std::string` does not fit this (it also uses
a different string printer function).
This resolves two FIXMEs in the libc++ tests, where empty u16 and u32
strings didn't have any prefix (u/U).
Commit: 5baf351ba819e1e6bae0250492e85a2862ef406b
https://github.com/llvm/llvm-project/commit/5baf351ba819e1e6bae0250492e85a2862ef406b
Author: yonghong-song <yhs at fb.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
Log Message:
-----------
[BPF] Do not allow gotol in the middle of asm insn (#144545)
Previously I accidentally allowed 'gotol' insn in the middle of asm insn
([1]). But actually 'gotol' is not allowed in the middle of any asm
insn, so remove it from isValidIdInMiddle().
[1] https://github.com/yonghong-song/llvm-project/commit/6c412b6c6faa2dabd8602d35d3f5e796fb1daf80
Commit: 556e69b7f4328a0d7c36c9d7ca0dd8f52f82ad71
https://github.com/llvm/llvm-project/commit/556e69b7f4328a0d7c36c9d7ca0dd8f52f82ad71
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lldb/cmake/modules/FindPythonAndSwig.cmake
M lldb/test/API/lit.cfg.py
M lldb/test/API/lit.site.cfg.py.in
M lldb/test/Shell/lit.cfg.py
Log Message:
-----------
[lldb] make lit use the same Python executable for building and testing (#143756)
When testing LLDB, we want to make sure to use the same Python as the
one we used to build it.
This patch uses the CMake variable `Python3_ROOT_DIR` to add the correct
Python to the `PATH` in LLDB lit tests, in order to ensure of this.
Please see https://github.com/swiftlang/swift/pull/82063 for the
original issue.
This is a continuation of https://github.com/swiftlang/swift/pull/82063.
Commit: 8063bd153c6aca43869d96aee64aeceb9be98ca5
https://github.com/llvm/llvm-project/commit/8063bd153c6aca43869d96aee64aeceb9be98ca5
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
A mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-elemwise.mlir
Log Message:
-----------
[MLIR][XeGPU] Add support for elementwise ops in Wg to Sg distribute pass [1/N] (#142797)
This PR adds support for Elementwise operations' (unary & binary)
lowering from Workgroup to Subgroup.
Commit: 01a7a21a4b8070a88e5dcc9753066e38d26faf85
https://github.com/llvm/llvm-project/commit/01a7a21a4b8070a88e5dcc9753066e38d26faf85
Author: Chris B <chris.bieneman at me.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
Log Message:
-----------
[CMake] Add BINARY_DIR argument for add_lit_testsuites (#144431)
We're doing some slightly odd things with LIT in the offload-test-suite.
Specifically we generate multiple binary directories to configure and
run tests with different configurations from the same source root.
In this configuration the subdirectory targets need to instead point to
the correct generated binary directory and use test filtering to get a
subset of tests.
Commit: 526310e916af2073e30b57b678307ce94df803f3
https://github.com/llvm/llvm-project/commit/526310e916af2073e30b57b678307ce94df803f3
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/IR/DiagnosticInfo.cpp
M llvm/test/Transforms/GVN/opt-remarks.ll
Log Message:
-----------
[Remarks] Elaborate on called intrinsics (#143985)
Commit: ec230aa7a7d13c222c0b34b87c3c16937383b4a0
https://github.com/llvm/llvm-project/commit/ec230aa7a7d13c222c0b34b87c3c16937383b4a0
Author: Garvit Gupta <quic_garvgupt at quicinc.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
M clang/test/Driver/aarch64-toolchain-extra.c
M clang/test/Driver/aarch64-toolchain.c
M clang/test/Driver/arm-toolchain-extra.c
M clang/test/Driver/arm-toolchain.c
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[Driver] Add support for crtbegin.o, crtend.o and libgloss lib to BareMetal toolchain object (#121830)
This patch conditionalise the addition of crt{begin,end}.o object files
along
with addition of -lgloss lib based on whether libc selected is newlib or
llvm
libc. Since there is no way a user can specify which libc it wants to
link
against, currently passing valid GCCInstallation to driver will select
newlib
otherwise it will default to llvm libc.
Moreover, this patch makes gnuld the default linker for baremetal
toolchain
object. User need to pass `-fuse-ld=lld` explicitly to driver to select
lld
This is the 2nd patch in the series of patches of merging RISCVToolchain
into
BareMetal toolchain object.
RFC:
https://discourse.llvm.org/t/merging-riscvtoolchain-and-baremetal-toolchains/75524
Commit: 8513066f2c49457f5d1f63e275403330f854041c
https://github.com/llvm/llvm-project/commit/8513066f2c49457f5d1f63e275403330f854041c
Author: someoneinjd <someoneinjd at outlook.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
A clang-tools-extra/clangd/test/positionencoding.test
Log Message:
-----------
[clangd] Implement LSP 3.17 positionEncoding (#142903)
This PR adds support for the `positionEncoding` client capability
introduced in LSP 3.17. Clangd can now negotiate the position encoding
with the client during initialization.
Fix https://github.com/clangd/clangd/issues/1746
Co-authored-by: kadir çetinkaya <kadircetinkaya.06.tr at gmail.com>
Commit: 9dd1c66e8ffba73fead13aaf359e290f6e1d4899
https://github.com/llvm/llvm-project/commit/9dd1c66e8ffba73fead13aaf359e290f6e1d4899
Author: Luke Lau <luke at igalia.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
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/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.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/outer_loop_test1_no_explicit_vect_width.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-poison-ub-ops-feeding-pointer.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
M llvm/test/Transforms/LoopVectorize/scalable-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
Log Message:
-----------
[VPlan] Expand VPWidenIntOrFpInductionRecipe into separate recipes (#118638)
The motivation of this PR is to make #115274 easier to implement, and
should allow us to add EVL support by just passing EVL to the VF
operand.
The current difficulty with widening IVs with EVL is that
VPWidenIntOrFpInductionRecipe generates its own backedge value. Since
it's a VPHeaderPHIRecipe the VF operand must be in the preheader, which
means we can't use the EVL since it's defined in the loop body.
The gist in this PR is to take the approach in #114305 and expand
VPWidenIntOrFpInductionRecipe into several recipes for the initial
value, phi and backedge value just before execution. I.e. this example:
```
vector.ph:
Successor(s): vector loop
<x1> vector loop: {
vector.body:
WIDEN-INDUCTION %i = phi %start, %step, %vf
...
EMIT branch-on-count ...
No successors
}
```
gets expanded to:
```
vector.ph:
...
vp<%induction.start> = ...
vp<%induction.increment> = ...
Successor(s): vector loop
<x1> vector loop: {
vector.body:
ir<%i> = WIDEN-PHI vp<%induction.start>, vp<%vec.ind.next>
...
vp<%vec.ind.next> = add ir<%i>, vp<%induction.increment>
EMIT branch-on-count ...
No successors
}
```
This allows us to a value defined in the loop in the backedge value, and
also means we can just reuse the existing backedge fixups in
VPlan::execute without having to specially handle it ourselves.
After this #115274 should just become a matter of setting the VF operand
to EVL (and building the increment step in the loop body, not the
preheader).
Commit: 9e0186d925f0c375a627866c59394f25c22eb3ff
https://github.com/llvm/llvm-project/commit/9e0186d925f0c375a627866c59394f25c22eb3ff
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignatureUtils.h
M llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp
M llvm/unittests/Frontend/CMakeLists.txt
A llvm/unittests/Frontend/HLSLRootSignatureRangesTest.cpp
Log Message:
-----------
[HLSL][RootSignature] Implement `ResourceRange` as an `IntervalMap` (#140957)
A resource range consists of a closed interval, `[a;b]`, denoting which
shader registers it is bound to.
For instance:
- `CBV(b1)` corresponds to the resource range of `[1;1]`
- `CBV(b0, numDescriptors = 3)` likewise to `[0;2]`
We want to provide an error diagnostic when there is an overlap in the
required registers (an overlap in the resource ranges).
The goal of this pr is to implement a structure to model a set of
resource ranges and provide an api to detect any overlap over a set of
resource ranges.
`ResourceRange` models this by implementing an `IntervalMap` to denote a
mapping from an interval of registers back to a resource range. It
allows for a new `ResourceRange` to be added to the mapping and it will
report if and what the first overlap is.
For the context of how this will be used in validation of a
`RootSignatureDecl` please see the proceeding pull request here:
https://github.com/llvm/llvm-project/pull/140962.
- Implements `ResourceRange` as an `IntervalMap`
- Adds unit testing of the various `insert` scenarios
Note: it was also considered to implement this as an `IntervalTree`,
this would allow reporting of a diagnostic for each overlap that is
encountered, as opposed to just the first. However, error generation of
just reporting the first error is already rather verbose, and adding the
additional diagnostics only made this worse.
Part 1 of https://github.com/llvm/llvm-project/issues/129942
Commit: ed07b54b38c675235b4ce1bfd49e1fff372f6520
https://github.com/llvm/llvm-project/commit/ed07b54b38c675235b4ce1bfd49e1fff372f6520
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenValue.h
Log Message:
-----------
[CIR][NFCI] Represent Complex RValues As Single Value (#144519)
This patch removes one mlir::Value in the RValue class that has been
used to represent complex values in classic CG. In CIR we plan on
representing complex as a single value. It also removes some now
unnecessary member functions related to complex handling.
Commit: 3a06e9a710b7cfdbf1c002acc46fa76617e8baf8
https://github.com/llvm/llvm-project/commit/3a06e9a710b7cfdbf1c002acc46fa76617e8baf8
Author: Garvit Gupta <quic_garvgupt at quicinc.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
Log Message:
-----------
Conditionalise the addition of Aarch64 function Multi versioning support on aarch64 target (#143749)
Currently, `ENABLE_BAREMETAL_AARCH64_FMV` is added to builtin defines
for all baremetal targets though it is only needed for aarch64. This
patch fixes this by adding it only for aarch64 target.
Commit: 7ea710fafa5782a274ded2ab6933c63c5c71f2ee
https://github.com/llvm/llvm-project/commit/7ea710fafa5782a274ded2ab6933c63c5c71f2ee
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/fdopen_test.cpp
M libc/test/src/stdio/fgetc_test.cpp
M libc/test/src/stdio/fgetc_unlocked_test.cpp
M libc/test/src/stdio/fgets_test.cpp
M libc/test/src/stdio/fileop_test.cpp
M libc/test/src/stdio/fopencookie_test.cpp
M libc/test/src/stdio/remove_test.cpp
M libc/test/src/stdio/rename_test.cpp
M libc/test/src/stdio/setvbuf_test.cpp
M libc/test/src/stdio/unlocked_fileop_test.cpp
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/stdlib/strtold_test.cpp
Log Message:
-----------
Fix/reapply "[libc] Migrate stdio tests to ErrnoCheckingTest. (#144134)
This reverts commit 92a116c4ef822950f8c57eaa5164c844c73a1f7e with a fix
for fgets test - convert nullptr to fgets return type (char*), since the
matcher is pedantic.
Commit: 4943e746909ddbf8845e7fa397a97b918bf777df
https://github.com/llvm/llvm-project/commit/4943e746909ddbf8845e7fa397a97b918bf777df
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/fallback.ll
Log Message:
-----------
fixup! [Remarks] Elaborate on called intrinsics (#143985)
Commit: 030b5519ec139757c13a6d6f337e69750ec24d6e
https://github.com/llvm/llvm-project/commit/030b5519ec139757c13a6d6f337e69750ec24d6e
Author: Yijia Gu <yijiagu at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] add missing deps for XeGPUTransforms
Commit: b876b3fa98cffd5b8755398f9a8218f667464d76
https://github.com/llvm/llvm-project/commit/b876b3fa98cffd5b8755398f9a8218f667464d76
Author: vitor1001 <56533861+vitor1001 at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/Headers/__clang_cuda_intrinsics.h
Log Message:
-----------
Add missing intrinsics to cuda headers (#143664)
LLVM prevents the sm_32_intrinsics.hpp header from being included with a
#define __SM_32_INTRINSICS_HPP__. It also provides drop-in replacements
of the functions defined in the CUDA header.
One issue is that some intrinsics were added after the replacement was
written, and thus have no replacement, breaking code that calls them
(Raft is one example).
This patch adds the missing intrinsics.
Commit: 0cfc59ff51720ee60a71dd34077fc161886a3701
https://github.com/llvm/llvm-project/commit/0cfc59ff51720ee60a71dd34077fc161886a3701
Author: Yijia Gu <yijiagu at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] remove extra empty space for XeGPUTransforms
Commit: e29bb9a038245320164c5890d1a75843e4a664ef
https://github.com/llvm/llvm-project/commit/e29bb9a038245320164c5890d1a75843e4a664ef
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Analysis/IR2Vec.cpp
Log Message:
-----------
[IR2Vec] Consider only reachable BBs and non-debug instructions (#143476)
Changes to consider BBs that are reachable from the entry block. Similarly we skip debug instruction while computing the embeddings.
(Tracking issue - #141817)
Commit: 31523de4b000ca254259ae3167d28922e1302648
https://github.com/llvm/llvm-project/commit/31523de4b000ca254259ae3167d28922e1302648
Author: Garvit Gupta <quic_garvgupt at quicinc.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/test/Driver/aarch64-toolchain-extra.c
M clang/test/Driver/aarch64-toolchain.c
M clang/test/Driver/arm-toolchain-extra.c
M clang/test/Driver/arm-toolchain.c
M clang/test/Driver/baremetal-multilib.yaml
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
Log Message:
-----------
[Driver] Fix link order of BareMetal toolchain object (#132806)
The linker job in BareMetal toolchain object will be used by GNU ld and
lld both.
However, gnuld process the arguments in the order in which they appear
on command
line, whereas there is no such restriction with lld.
The previous order was:
LibraryPaths -> Libraries -> LTOOptions -> LinkerInputs
The new order is:
LibraryPaths -> LTOOptions -> LinkerInputs -> Libraries
LTO options need to be added before adding any linker inputs because
file format
after compile stage during LTO is bitcode which gnuld natively cannot
process.
Hence will need to pass appropriate plugins before adding any bitcode
file on the
command line.
Object files that are getting linked need to be passed before processing
any
libraries so that gnuld can appropriately do symbol resolution for the
symbols
for which no definition is provided through user code.
Similar link order is also followed by other linker jobs for gnuld such
as in
gnutools::Linker in Gnu.cpp
This is the 3rd patch in the series of patches of merging RISCVToolchain
into
BareMetal toolchain object.
RFC:
https://discourse.llvm.org/t/merging-riscvtoolchain-and-baremetal-toolchains/75524
Commit: 2ab9c35ea93f8557827d4cadcceb05e4eed2d30a
https://github.com/llvm/llvm-project/commit/2ab9c35ea93f8557827d4cadcceb05e4eed2d30a
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
Log Message:
-----------
[DXContainer] Update DXContainer to match D3D12 spec (#143201)
Update the descriptor range flag values in DXContainerConstants.def to
match
the Direct3D12 specification. This changes two aspects:
1. Modify the DESCRIPTOR_RANGE_FLAG macro to use direct values instead
of
bit shifts
2. Update the flag values to use hex notation and match D3D12's
D3D12_DESCRIPTOR_RANGE_FLAGS enumeration:
- DESCRIPTORS_VOLATILE: 0x1
- DATA_VOLATILE: 0x2
- DATA_STATIC_WHILE_SET_AT_EXECUTE: 0x4
- DATA_STATIC: 0x8
- DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS: 0x10000
3. Removed NONE value from ROOT_DESCRIPTOR_FLAG
This ensures better compatibility with the D3D12 API and makes the
values
more explicit in the code.
Requested here:
https://github.com/llvm/llvm-project/pull/138315#discussion_r2132818269
---------
Co-authored-by: joaosaffran <joao.saffran at microsoft.com>
Commit: bb288de4e0e74f235402ff41be60dabcd57e379f
https://github.com/llvm/llvm-project/commit/bb288de4e0e74f235402ff41be60dabcd57e379f
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/LoopPeel.cpp
M llvm/test/Transforms/LoopUnroll/peel-last-iteration-minmax.ll
Log Message:
-----------
[LoopPeel] Support last iteration peeling of min/max intrinsics (#143598)
This isn't terribly useful at the moment because of the step=1
restriction but it should be functionally sound. This is mostly just
making sure the codepaths don't diverge as we make other changes.
Commit: 8cd05b88ec623018ca2c68cf2418d2beed026d27
https://github.com/llvm/llvm-project/commit/8cd05b88ec623018ca2c68cf2418d2beed026d27
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaHLSL.cpp
Log Message:
-----------
[NFC][HLSL] Move Sema work from `ParseMicrosoftRootSignatureAttributeArgs` (#143184)
This separates semantic analysis from parsing by moving `RootSignatureDecl` creation, scope storage, and lookup logic into
`SemaHLSL`.
For more context see:
https://github.com/llvm/llvm-project/issues/142834.
- Define `ActOnStartRootSignatureDecl` and `ActOnFinishRootSignatureDecl` on `SemaHLSL`
- NFC so no test changes.
Resolves: https://github.com/llvm/llvm-project/issues/142834
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: 80f3a28bbe7c2e17fb4b60e974c4157ec7e1eefc
https://github.com/llvm/llvm-project/commit/80f3a28bbe7c2e17fb4b60e974c4157ec7e1eefc
Author: Justin King <jcking at wulver.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M compiler-rt/lib/lsan/lsan_allocator.cpp
M compiler-rt/lib/lsan/lsan_allocator.h
M compiler-rt/lib/lsan/lsan_interceptors.cpp
M compiler-rt/lib/lsan/lsan_malloc_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_malloc_mac.inc
Log Message:
-----------
Revert "lsan: Support free_sized and free_aligned_sized from C23" (#144575)
Reverts llvm/llvm-project#144415
Need to update approach to handle Apple platforms gracefully.
Commit: 391dafd8af9c0309f2ca75621dae1dbae307b428
https://github.com/llvm/llvm-project/commit/391dafd8af9c0309f2ca75621dae1dbae307b428
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV] Consolidate both copies of getLMUL1VT [nfc] (#144568)
Put one copy on RISCVTargetLowering as a static function so that both
locations can use it, and rename the method to getM1VT for slightly
improved readability.
Commit: 1f10c6a277fbc1b1c6ceb7546b001af39feb92ce
https://github.com/llvm/llvm-project/commit/1f10c6a277fbc1b1c6ceb7546b001af39feb92ce
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Log Message:
-----------
[Matrix] Hoist more IRBuilder<>'s. NFC
Commit: b59d4cf05447fdaf3d3c859e10db0b3c892f6ec6
https://github.com/llvm/llvm-project/commit/b59d4cf05447fdaf3d3c859e10db0b3c892f6ec6
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
A llvm/test/CodeGen/DirectX/noop_bitcast_global_array_type.ll
Log Message:
-----------
[Reland] Adjust bit cast instruction filter for DXIL Prepare pass (#143783)
Relands https://github.com/llvm/llvm-project/pull/142678, with a new
change to remove an unnecessary gep argument, after a revert was needed
due to unforeseen bugs.
Fixes https://github.com/llvm/llvm-project/issues/139013
Commit: dd65e6e0608c3390752750a0f19bca4409603db9
https://github.com/llvm/llvm-project/commit/dd65e6e0608c3390752750a0f19bca4409603db9
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
A offload/cmake/caches/AMDGPULibcBot.cmake
Log Message:
-----------
[Offload][libc] Add cmake cache AMDGPU buildbot (#144500)
An upcoming libc4GPU buildbot will be using this CMake cache file for
its build configuration.
Commit: 9cb754509608b9d9143fa17f775631bbfcce0848
https://github.com/llvm/llvm-project/commit/9cb754509608b9d9143fa17f775631bbfcce0848
Author: Garvit Gupta <quic_garvgupt at quicinc.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/lib/Driver/ToolChains/BareMetal.cpp
A clang/test/Driver/baremetal-undefined-symbols.c
R clang/test/Driver/riscv-args.c
Log Message:
-----------
[Driver] Add option to force undefined symbols during linking in BareMetal toolchain object. (#132807)
Add support for `-u` option to force defined symbols. This option is
supported by both lld and gnuld.
This is done as a part of the effort to merge RISCVToolchain object into
BareMetal toolchain object.
This is the 4th patch in the series of patches for merging
RISCVToolchain object into BareMetal toolchain object.
RFC:
https://discourse.llvm.org/t/merging-riscvtoolchain-and-baremetal-toolchains/75524
Commit: 57828fec760f086b334ce0cb1c465fc559dcaea4
https://github.com/llvm/llvm-project/commit/57828fec760f086b334ce0cb1c465fc559dcaea4
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/Floating.h
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/IntegralAP.h
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/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/Program.h
M clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
Revert "[clang][bytecode] Allocate IntegralAP and Floating types using an allocator (#144246)"
This reverts commit c66be289901b3f035187d391e80e3610d7d6232e.
This breaks the armv8-quick builder:
https://lab.llvm.org/buildbot/#/builders/154/builds/17549
Commit: 667c7860ef5cc67a94c5233ff1be9c0e113ac514
https://github.com/llvm/llvm-project/commit/667c7860ef5cc67a94c5233ff1be9c0e113ac514
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/test/CIR/CodeGen/string-literals.c
A clang/test/CIR/CodeGen/string-literals.cpp
Log Message:
-----------
[CIR] Handle global string literals as char array initializer (#144384)
This change adds the line of code needed to handle a string literal as
an initializer for a character array.
Commit: b1aa845595c4dc204dfbe0e48481572e936620fc
https://github.com/llvm/llvm-project/commit/b1aa845595c4dc204dfbe0e48481572e936620fc
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M libcxx/include/fstream
Log Message:
-----------
[libc++][NFC] Consistently qualify calls to C functions in <fstream> (#144539)
Commit: 19658d14749876cf0b6633f210c923be3709323b
https://github.com/llvm/llvm-project/commit/19658d14749876cf0b6633f210c923be3709323b
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/Target/CGPassBuilderOption.h
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
M llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
M llvm/lib/Target/AMDGPU/TargetInfo/AMDGPUTargetInfo.cpp
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
M llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp
M llvm/lib/Target/AVR/AVRAsmPrinter.cpp
M llvm/lib/Target/AVR/AVRTargetMachine.cpp
M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
M llvm/lib/Target/AVR/Disassembler/AVRDisassembler.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp
M llvm/lib/Target/AVR/TargetInfo/AVRTargetInfo.cpp
M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
M llvm/lib/Target/BPF/BPFAsmPrinter.cpp
M llvm/lib/Target/BPF/BPFTargetMachine.cpp
M llvm/lib/Target/BPF/Disassembler/BPFDisassembler.cpp
M llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp
M llvm/lib/Target/BPF/TargetInfo/BPFTargetInfo.cpp
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp
M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
M llvm/lib/Target/Lanai/Disassembler/LanaiDisassembler.cpp
M llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp
M llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp
M llvm/lib/Target/Lanai/TargetInfo/LanaiTargetInfo.cpp
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/Disassembler/LoongArchDisassembler.cpp
M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCTargetDesc.cpp
M llvm/lib/Target/LoongArch/TargetInfo/LoongArchTargetInfo.cpp
M llvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp
M llvm/lib/Target/MSP430/Disassembler/MSP430Disassembler.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.cpp
M llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp
M llvm/lib/Target/MSP430/MSP430TargetMachine.cpp
M llvm/lib/Target/MSP430/TargetInfo/MSP430TargetInfo.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/NVPTX/TargetInfo/NVPTXTargetInfo.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCTargetDesc.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SPIRV/TargetInfo/SPIRVTargetInfo.cpp
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
M llvm/lib/Target/Sparc/SparcTargetMachine.cpp
M llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
M llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/VE/Disassembler/VEDisassembler.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCTargetDesc.cpp
M llvm/lib/Target/VE/TargetInfo/VETargetInfo.cpp
M llvm/lib/Target/VE/VEAsmPrinter.cpp
M llvm/lib/Target/VE/VETargetMachine.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp
M llvm/lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/XCore/Disassembler/XCoreDisassembler.cpp
M llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp
M llvm/lib/Target/XCore/TargetInfo/XCoreTargetInfo.cpp
M llvm/lib/Target/XCore/XCoreAsmPrinter.cpp
M llvm/lib/Target/XCore/XCoreTargetMachine.cpp
M llvm/unittests/Target/AArch64/CMakeLists.txt
M llvm/unittests/Target/LoongArch/CMakeLists.txt
M llvm/unittests/Target/RISCV/CMakeLists.txt
M llvm/unittests/Target/SPIRV/CMakeLists.txt
M llvm/unittests/Target/VE/CMakeLists.txt
M llvm/unittests/Target/WebAssembly/CMakeLists.txt
Log Message:
-----------
[llvm] annotate interfaces in llvm/Target for DLL export (#143615)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/Target` library.
These 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).
A sub-set 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 bulk of this change is manual additions of `LLVM_ABI` to
`LLVMInitializeX` functions defined in .cpp files under llvm/lib/Target.
Adding `LLVM_ABI` to the function implementation is required here
because they do not `#include "llvm/Support/TargetSelect.h"`, which
contains the declarations for this functions and was already updated
with `LLVM_ABI` in a previous patch. I considered patching these files
with `#include "llvm/Support/TargetSelect.h"` instead, but since
TargetSelect.h is a large file with a bunch of preprocessor x-macro
stuff in it I was concerned it would unnecessarily impact compile times.
In addition, a number of unit tests under llvm/unittests/Target required
additional dependencies to make them build correctly against the LLVM
DLL on Windows using MSVC.
## 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: 7b7b5a397da1ecb9f767df5a3a3b6076cec109f9
https://github.com/llvm/llvm-project/commit/7b7b5a397da1ecb9f767df5a3a3b6076cec109f9
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
Log Message:
-----------
[AMDGPU] Remove AsmVOP3OpSel field completely. NFCI. (#144574)
Commit: 8dcf4ba6359578c4d944b75b3f96a1fbd4fb9528
https://github.com/llvm/llvm-project/commit/8dcf4ba6359578c4d944b75b3f96a1fbd4fb9528
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
Log Message:
-----------
[AMDGPU] Fix getAsmVOP3Base call agruments. (#144572)
https://github.com/llvm/llvm-project/pull/143465 has removed
getAsmVOP3OpSel and uses getAsmVOP3Base instead, but original
call to getAsmVOP3OpSel was using HasSrc*FloatMods and the
call to getAsmVOP3Base uses HasSrc*Mods. This does not play
well with opsel. An opsel instruction has modifiers in dag but
shall not have them in the asm string.
Commit: 73f307a5ca308d356c557734765742c26bf7ed03
https://github.com/llvm/llvm-project/commit/73f307a5ca308d356c557734765742c26bf7ed03
Author: Ashley Coleman <ascoleman at microsoft.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/CodeGenHLSL/builtins/firstbithigh.hlsl
M clang/test/CodeGenHLSL/builtins/firstbitlow.hlsl
Log Message:
-----------
[HLSL] Use ExtVector for firstbit intrinsics (#142679)
Fixes https://github.com/llvm/llvm-project/issues/142430
firstbit intrinsics were using the wrong vector type which causes some
conversions to fail. This PR switches them to ExtVector which resolves
the issue
Commit: a79186c1ea62bbe0579e0b1eed4ad507966cca41
https://github.com/llvm/llvm-project/commit/a79186c1ea62bbe0579e0b1eed4ad507966cca41
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/test/Driver/aarch64-toolchain.c
M clang/test/Driver/arm-toolchain.c
Log Message:
-----------
[Driver] Fix Arm/AArch64 Link Argument tests (#144582)
The openmp-offload-amdgpu-runtime-2 bot specifies default rtlib of
compiler-rt, but default unwindlib of libgcc. Change the tests to accept
that there may be `"--as-needed" "-lgcc_s" "--no-as-needed"` between
`libclang_rt.builtins.a` and `-lc`.
Relates to #121830
Commit: 7c4b2be983e900663a8d766ea9dc6f03b713e5b0
https://github.com/llvm/llvm-project/commit/7c4b2be983e900663a8d766ea9dc6f03b713e5b0
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M libcxx/include/streambuf
Log Message:
-----------
[libc++][NFC] Refactor basic_streambuf to use public API functions when possible (#144547)
The implementation of std::basic_streambuf used private member variables
to manipulate the get and the put areas. Using public API functions is
equivalent but leads to code that is easier to understand, since the
public API functions are known more widely than our internal member
variables. Using the public API functions removes the need to map the
internal member variables back to get/put area manipulation functions in
one's head.
Finally, it also makes it easier to find subtle issues by instrumenting
accessor functions, which is impossible if the class uses the member
variables directly.
Commit: 9ae4d2e01331ddeb2543f1940a09ef9c76ff5268
https://github.com/llvm/llvm-project/commit/9ae4d2e01331ddeb2543f1940a09ef9c76ff5268
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Support/Unix/Process.inc
Log Message:
-----------
[LLVM] [Support] Disable `ioctl()` terminal size check on Solaris (#144600)
#143514 broke the `clang-solaris11-sparcv9` bot; from what I can tell
that’s Solaris and according to `SolarisTargetInfo::getOSDefines`, the
macro `__sun__` should be defined on Solaris, so check for that and
don’t try to query the terminal size if it is defined.
Not sure this is the best solution but hopefully it fixes the bot.
Commit: c677a11c8d3223480cfe772e63fa0e7c09c76e2e
https://github.com/llvm/llvm-project/commit/c677a11c8d3223480cfe772e63fa0e7c09c76e2e
Author: David Peixotto <peix at meta.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lldb/include/lldb/Core/PluginManager.h
M lldb/source/Core/PluginManager.cpp
A lldb/test/API/commands/plugin/TestPlugin.py
M lldb/test/Shell/Commands/command-plugin-list.test
Log Message:
-----------
[lldb] Add support to list/enable/disable remaining plugin types. (#143970)
In #134418 we added support to list/enable/disable `SystemRuntime` and
`InstrumentationRuntime` plugins. We limited it to those two plugin
types to flesh out the idea with a smaller change.
This PR adds support for the remaining plugin types. We now support all
the plugins that can be registered directly with the plugin manager.
Plugins that are added by loading shared objects are still not
supported.
Commit: 908f74a25e01cc88d1dee1af5521d8fb1c21bc51
https://github.com/llvm/llvm-project/commit/908f74a25e01cc88d1dee1af5521d8fb1c21bc51
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/Target/TargetMachine.h
Log Message:
-----------
[llvm] re-order LLVM_ABI and extern on NoKernelInfoEndLTO decl (#144601)
## Overview
Fix compilation error introduced by #143615. Build failure logs
available
[here](https://lab.llvm.org/buildbot/#/builders/195/builds/10573)
## Background
On `extern` variable declarations, `LLVM_ABI` must appear before
`extern` because `LLVM_ABI` currently resolves to
`[[gnu::visibility("default")]]` when building with gcc.
Commit: 49bf8d38d80ce43bd700f27833a7b8c8e7082af8
https://github.com/llvm/llvm-project/commit/49bf8d38d80ce43bd700f27833a7b8c8e7082af8
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
Log Message:
-----------
[gn build] Manually port b4e39e4f
Commit: 8d1610afd0db877460d1b3cd43cc4066478846a0
https://github.com/llvm/llvm-project/commit/8d1610afd0db877460d1b3cd43cc4066478846a0
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.get.area/setg.assert.pass.cpp
M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/setp.assert.pass.cpp
Log Message:
-----------
[libc++] Mark two assertion tests as unsupported in C++03 mode
Our assertion checking facility requires at least C++11, so these
tests were failing when run in C++03 mode.
Commit: 3c7df98c7b2a203e49a74b229bbf535c2ef6274b
https://github.com/llvm/llvm-project/commit/3c7df98c7b2a203e49a74b229bbf535c2ef6274b
Author: Piotr Idzik <65706193+vil02 at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/performance/enum-size.rst
Log Message:
-----------
[clang-tidy] Add missing colon in the docs of performance-enum-size (#144525)
There is a syntax error in the provided code example - this PR fixes it.
I did a quick search - I could not find similar _typos_.
Commit: ecfb8fe5c1870091b095ae6ca1ad4cfc7158e619
https://github.com/llvm/llvm-project/commit/ecfb8fe5c1870091b095ae6ca1ad4cfc7158e619
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/docs/Toolchain.rst
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/include/c++/8.2.1/.keep
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/.keep
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/crt0.o
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/bin/aarch64-none-elf-ld
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtbegin.o
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtend.o
R clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crt0.o
R clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crtbegin.o
R clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crtend.o
R clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/bin/aarch64-none-elf-ld
R clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/include/c++/8.2.1/.keep
R clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/.keep
R clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/crt0.o
R clang/test/Driver/Inputs/basic_arm_gcc_tree/bin/armv6m-none-eabi-ld
R clang/test/Driver/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtbegin.o
R clang/test/Driver/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtend.o
R clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crt0.o
R clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crtbegin.o
R clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crtend.o
R clang/test/Driver/Inputs/basic_arm_nogcc_tree/bin/armv6m-none-eabi-ld
R clang/test/Driver/aarch64-gnutools.c
R clang/test/Driver/aarch64-toolchain-extra.c
R clang/test/Driver/aarch64-toolchain.c
R clang/test/Driver/arm-gnutools.c
R clang/test/Driver/arm-toolchain-extra.c
R clang/test/Driver/arm-toolchain.c
M clang/test/Driver/baremetal-multilib.yaml
M clang/test/Driver/baremetal-sysroot.cpp
R clang/test/Driver/baremetal-undefined-symbols.c
M clang/test/Driver/baremetal.cpp
R clang/test/Driver/check-no-multlib-warning.c
A clang/test/Driver/riscv-args.c
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
Revert stack "[Driver] Add support for GCC installation detection in … (#144603)
…Baremetal toolchain (#121829)"
This reverts the following stack of commits, due to them breaking the
Fuchsia toolchain and corresponding LLVM buildbot.
Revert "[Driver] Fix Arm/AArch64 Link Argument tests (#144582)" This
reverts commit a79186c1ea62bbe0579e0b1eed4ad507966cca41.
Revert "[Driver] Add option to force undefined symbols during linking in
BareMetal toolchain object. (#132807)" This reverts commit
9cb754509608b9d9143fa17f775631bbfcce0848.
Revert "[Driver] Fix link order of BareMetal toolchain object (#132806)"
This reverts commit 31523de4b000ca254259ae3167d28922e1302648.
Revert "[Driver] Add support for crtbegin.o, crtend.o and libgloss lib
to BareMetal toolchain object (#121830)" This reverts commit
ec230aa7a7d13c222c0b34b87c3c16937383b4a0.
Revert "[Driver] Add support for GCC installation detection in Baremetal
toolchain (#121829)" This reverts commit
eb31c422d0dc816bf285a81bf92690d4d16273ed.
Commit: a5a0d880736f5dc6a566374bc3b3ca0d86901510
https://github.com/llvm/llvm-project/commit/a5a0d880736f5dc6a566374bc3b3ca0d86901510
Author: Sam Clegg <sbc at chromium.org>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M libcxx/include/__assert
M libcxx/src/verbose_abort.cpp
M libcxx/test/support/check_assertion.h
Log Message:
-----------
[libc++] Remove trailing newline from _LIBCPP_ASSERTION_HANDLER calls (#143573)
This newline was originally added in https://reviews.llvm.org/D142184
but I think updating `__libcpp_verbose_abort` to add newline instead is
more consistent, and works for other callers of `_LIBCPP_VERBOSE_ABORT`.
The `_LIBCPP_ASSERTION_HANDLER` calls through to either
`_LIBCPP_VERBOSE_ABORT` macro or the `__builtin_verbose_trap`. From what
I can tell neither of these function expect a trailing newline (at least
none of the usage of `_LIBCPP_VERBOSE_ABORT` or `__builtin_verbose_trap`
that I can find include a trailing newline except `_LIBCPP_ASSERTION_HANDLER`).
I noticed this discrepancy when working on
https://github.com/emscripten-core/emscripten/pull/24543
Commit: 844e41c2acedd5219d9363e38838abd5146f63c0
https://github.com/llvm/llvm-project/commit/844e41c2acedd5219d9363e38838abd5146f63c0
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M libc/src/__support/wchar/character_converter.cpp
Log Message:
-----------
[libc] Moved shared constexpr to the top (#144569)
Some conversions shared constexpr so moved to the top.
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 6fb36db4818abde56e5da47899dcdaacd8293903
https://github.com/llvm/llvm-project/commit/6fb36db4818abde56e5da47899dcdaacd8293903
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[LinkerWrapper] Fix 'save-temps' when targeting SPIR-V (#144605)
Summary:
The logic here is flawed, it was only intended to apply to the CPU case
where we use the linker passed in on the command line. This was falsely
applying to SPIR-V which caused issues.
Commit: 362b9d78b4ee9107da2b5e90b3764b0f0fa610fe
https://github.com/llvm/llvm-project/commit/362b9d78b4ee9107da2b5e90b3764b0f0fa610fe
Author: John Harrison <harjohn at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
M lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
M lldb/test/API/tools/lldb-dap/output/TestDAP_output.py
Log Message:
-----------
[lldb-dap] Refactoring DebugCommunication to improve test consistency. (#143818)
In DebugCommunication, we currently are using 2 thread to drive
lldb-dap. At the moment, they make an attempt at only synchronizing the
`recv_packets` between the reader thread and the main test thread. Other
stateful properties of the debug session are not guarded by a
locks/mutex.
To mitigate this, I am moving any state updates to the main thread
inside the `_recv_packet` method to ensure that between calls to
`_recv_packet` the state does not change out from under us in a test.
This does mean the precise timing of events has changed slightly as a
result and I've updated the existing tests that fail for me locally with
this new behavior.
I think this should result in overall more predictable behavior, even if
the test is slow due to the host workload or architecture differences.
---------
Co-authored-by: Ebuka Ezike <yerimyah1 at gmail.com>
Commit: 3f33c8482fc0b8dd0d2596262ebd0ed73d41665d
https://github.com/llvm/llvm-project/commit/3f33c8482fc0b8dd0d2596262ebd0ed73d41665d
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[clang] Add release note for int->enum conversion change. (#144407)
This seems to be having some practical impact, so we should let people
know.
Commit: f25f2f7de4f8264d89ba3c4dc9daddb10a90c13f
https://github.com/llvm/llvm-project/commit/f25f2f7de4f8264d89ba3c4dc9daddb10a90c13f
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/test/Dialect/XeGPU/xegpu-unroll-patterns.mlir
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
Log Message:
-----------
[MLIR][XeGPU] Extend unrolling support for scatter ops with chunk_size (#144447)
Add support for load/store with chunk_size, which requires special
consideration for the operand blocking since offests and masks are
n-D and tensor are n+1-D. Support operations including create_tdesc,
update_tdesc, load, store, and prefetch.
---------
Co-authored-by: Adam Siemieniuk <adam.siemieniuk at intel.com>
Commit: fd7e46b864229a270726bd1026387740b9113094
https://github.com/llvm/llvm-project/commit/fd7e46b864229a270726bd1026387740b9113094
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M libcxx/include/__assert
M libcxx/src/verbose_abort.cpp
M libcxx/test/support/check_assertion.h
Log Message:
-----------
Revert "[libc++] Remove trailing newline from _LIBCPP_ASSERTION_HANDLER calls" (#144615)
Reverts llvm/llvm-project#143573
Commit: 1cd18bc894b97b282677c1d140688a27ebbec924
https://github.com/llvm/llvm-project/commit/1cd18bc894b97b282677c1d140688a27ebbec924
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
A llvm/test/Analysis/CostModel/AMDGPU/maximumnum.ll
A llvm/test/Analysis/CostModel/AMDGPU/minimumnum.ll
Log Message:
-----------
AMDGPU: Add cost model tests for minimumnum/maximumnum (#141904)
The f16 cases in particular look broken since every vector size
has the same reported cost.
Commit: 87b13ada109643bbf5495727b0bf59a46bd533aa
https://github.com/llvm/llvm-project/commit/87b13ada109643bbf5495727b0bf59a46bd533aa
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignatureUtils.h
M llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp
M llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp
Log Message:
-----------
[HLSL][RootSignature] Implement serialization of remaining Root Elements (#143198)
Implements serialization of the remaining `RootElement`s, namely
`RootDescriptor`s and `StaticSampler`s.
- Adds unit testing for the serialization methods
Resolves https://github.com/llvm/llvm-project/issues/138191
Resolves https://github.com/llvm/llvm-project/issues/138193
Commit: cb63b75e32a415c9bfc298ed7fdcd67e8d9de54c
https://github.com/llvm/llvm-project/commit/cb63b75e32a415c9bfc298ed7fdcd67e8d9de54c
Author: John Harrison <harjohn at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
M lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
M lldb/test/API/tools/lldb-dap/output/TestDAP_output.py
Log Message:
-----------
Revert "[lldb-dap] Refactoring DebugCommunication to improve test consistency. (#143818)
This reverts commit 362b9d78b4ee9107da2b5e90b3764b0f0fa610fe.
Buildbots using python3.10 are running into errors from this change.
Commit: c9b28163888574bcfba0171372ae0dcfb40abbfa
https://github.com/llvm/llvm-project/commit/c9b28163888574bcfba0171372ae0dcfb40abbfa
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AMDGPU/canonicalize.ll
M llvm/test/Analysis/CostModel/AMDGPU/copysign.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/slp-v2f16.ll
Log Message:
-----------
AMDGPU: Fix cost model for 16-bit operations on gfx8 (#141943)
We should only divide the number of pieces to fit the packed instructions
if we actually have pk instructions. This increases the cost of copysign,
but is closer to the current codegen output. It could be much cheaper
than it is now.
Commit: 3800a83160a42f32947b82700e454cc07c600734
https://github.com/llvm/llvm-project/commit/3800a83160a42f32947b82700e454cc07c600734
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AMDGPU/copysign.ll
Log Message:
-----------
AMDGPU: Reduce cost of f64 copysign (#141944)
The real implementation is 1 real instruction plus a constant
materialize. Call that a 1, it's not a real f64 operation.
Commit: bec9ac2dafe1c9fca975721e9951c5f7f6b1b559
https://github.com/llvm/llvm-project/commit/bec9ac2dafe1c9fca975721e9951c5f7f6b1b559
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
Log Message:
-----------
[llvm] Lower latency bonus threshold in function specialization. (#143954)
Related to #143219.
Function specialization does not kick in if flang sets `noalias`
attributes on the function arguments of `digits_2`, because PRE
optimizes several `srem` instructions and other memory accesses
from the inner loops causing the latency bonus to be lower than
the current 40% threshold.
While looking at this, I did not really get why we compute the latency
bonus as a ratio of the latency of the "eliminated" instructions
and the code-size of the whole function. It did not make much sense
to me.
I tried computing the total latency as a sum of latencies
of the instructions that belong to non-dead code (including
the instructions that would be executed had they not been
"eliminated" due to the constant propagation). This total
latency should identify the total cost of executing the function
with the given argument being dynamically equal to the tried
constant value. Then the latency bonus would be computed
as the ratio between the latency of the "eliminated" instructions
and the total latency. Unfortunately, this did not given me a good
heuristics either. The bonus was close to 0% on some targets,
and as big as 3-5% on other targets. This does match very well
with the performance gain achieved by function specialization
for exchange2, so it seemd like another artificial heuristic
not better than the current one.
It seems that GCC uses a set of different heuristics for function
specialization, but I am not an expert here and I cannot say
if we can match them in LLVM.
With all that said, I decided to try to lower the threshold
to avoid the regression and be able to re-enable the generally
good change for `noalias` attribute.
With this patch, I was able to reduce the effect of `noalias`,
so that `-force-no-alias=true` is only ~10% slower than
`-force-no-alias=false` code on neoverse-v1 and neoverse-v2.
On neoverse-n1, `-force-no-alias=true` is >2x faster than
`-force-no-alias=false` regardless of this patch.
This threshold has been changed before also due to improved
alias information:
https://github.com/llvm/llvm-project/commit/2fb51fba8ca904a6d3ddf30ae94228ecf9e6a231#diff-066363256b7b4164e66b28a3028b2cb9e405c9136241baa33db76ebd2edb87cd
Please let me know what testing I should run to make sure this change
is safe. As I understand, it may affect the compilation time
performance,
and I will appreciate it if someone points out which benchmarks
need to be checked before merging this.
Commit: af65cb68f553759eac307edda87ff7d8b5fdffa9
https://github.com/llvm/llvm-project/commit/af65cb68f553759eac307edda87ff7d8b5fdffa9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
Log Message:
-----------
AMDGPU: Move fpenvIEEEMode into TTI (#141945)
Commit: 70343c8d44273c187e3f7fa5e2037fbc41307077
https://github.com/llvm/llvm-project/commit/70343c8d44273c187e3f7fa5e2037fbc41307077
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
A flang/test/Fir/cfg-conversion-if.fir
M flang/test/Fir/fir-ops.fir
M flang/test/Fir/invalid.fir
M mlir/include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.h
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMIRToLLVMTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Conversion/ControlFlowToLLVM/branch.mlir
M mlir/test/Dialect/ControlFlow/invalid.mlir
M mlir/test/Dialect/ControlFlow/ops.mlir
M mlir/test/Target/LLVMIR/Import/metadata-profiling.ll
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[mlir][flang] Added Weighted[Region]BranchOpInterface's. (#142079)
The new interfaces provide getters and setters for the weight
information about the branches of BranchOpInterface and
RegionBranchOpInterface operations.
These interfaces are done the same way as LLVM dialect's
BranchWeightOpInterface.
The plan is to produce this information in Flang, e.g. mark
most probably "cold" code as such and allow LLVM to order
basic blocks accordingly. An example of such a code is
copy loops generated for arrays repacking - we can mark it
as "cold" assuming that the copy will not happen dynamically.
If the copy actually happens the overhead of the copy is probably high
enough so that we may not care about the little overhead
of jumping to the "cold" code and fetching it.
Commit: 54015f36c682aab9024a21a93957312a69c5bc9b
https://github.com/llvm/llvm-project/commit/54015f36c682aab9024a21a93957312a69c5bc9b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AMDGPU/maximumnum.ll
M llvm/test/Analysis/CostModel/AMDGPU/minimumnum.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/slp-v2f16.ll
Log Message:
-----------
AMDGPU: Cost model for minimumnum/maximumnum (#141946)
Commit: f08474ab1fa984560565e917453a42bc8562a6f9
https://github.com/llvm/llvm-project/commit/f08474ab1fa984560565e917453a42bc8562a6f9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
A llvm/test/Analysis/CostModel/AMDGPU/special-argument-intrinsics.ll
Log Message:
-----------
AMDGPU: Add baseline cost model tests for special argument intrinsics (#141947)
Commit: f3af1cd08cd456214961af915c17f858c9eef1a5
https://github.com/llvm/llvm-project/commit/f3af1cd08cd456214961af915c17f858c9eef1a5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/get_vector_length.ll
M llvm/test/CodeGen/RISCV/rvv/insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/legalize-load-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/legalize-store-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
M llvm/test/CodeGen/RISCV/rvv/vandn-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll
Log Message:
-----------
[RISCV] Set the exact flag on the SRL created for converting vscale to a read of vlenb. (#144571)
We know that vlenb is a multiple of RVVBytesPerBlock so we aren't
shifting out any non-zero bits.
Commit: a9811340b75baae8e06fb9ab83015a90d61510ee
https://github.com/llvm/llvm-project/commit/a9811340b75baae8e06fb9ab83015a90d61510ee
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AMDGPU/special-argument-intrinsics.ll
Log Message:
-----------
AMDGPU: Report special input intrinsics as free (#141948)
Commit: 628274dadf92995f4544d6134cba45d327d9eaaa
https://github.com/llvm/llvm-project/commit/628274dadf92995f4544d6134cba45d327d9eaaa
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
A llvm/include/llvm/DebugInfo/DWARF/DWARFCFIPrinter.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFCFIProgram.h
M llvm/lib/DebugInfo/DWARF/CMakeLists.txt
A llvm/lib/DebugInfo/DWARF/DWARFCFIPrinter.cpp
M llvm/lib/DebugInfo/DWARF/DWARFCFIProgram.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
M llvm/tools/llvm-readobj/DwarfCFIEHPrinter.h
Log Message:
-----------
[NFC] Extract Printing portions of DWARFCFIProgram to new files (#143762)
CFIPrograms' most common uses are within debug frames, but it is not
their only use. For example, some assembly writers encode them by hand
into .cfi_escape directives. This PR extracts printing code for them
into its own files, which avoids the need for the main class to depend
on DWARFUnit, sections, and similar.
One in a series of NFC DebugInfo/DWARF refactoring changes to layer it
more cleanly, so that binary CFI parsing can be used from low-level
code, (such as byte strings created via .cfi_escape) without circular
dependencies. The final goal is to make a more limited dwarf library
usable from lower-level code.
More information can be found at
https://discourse.llvm.org/t/rfc-debuginfo-dwarf-refactor-into-to-lower-and-higher-level-libraries/86665
Commit: a871b919ed135b3b50db58ed816d6ddb488d9c5e
https://github.com/llvm/llvm-project/commit/a871b919ed135b3b50db58ed816d6ddb488d9c5e
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn
Log Message:
-----------
[gn build] Port 9e0186d925f0
Commit: 535291409cc7e4ae571318a38bd3617d7f608002
https://github.com/llvm/llvm-project/commit/535291409cc7e4ae571318a38bd3617d7f608002
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Mips/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn build] Port 9ec75a50bc48
Commit: 6652961ae5fee4d81871e4310a9e842c61136c10
https://github.com/llvm/llvm-project/commit/6652961ae5fee4d81871e4310a9e842c61136c10
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
Log Message:
-----------
[gn build] Manually port 556e69b7
Commit: b164d3613ad9b86a8b951cfc43fadc0edfc7644e
https://github.com/llvm/llvm-project/commit/b164d3613ad9b86a8b951cfc43fadc0edfc7644e
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/DWARF/BUILD.gn
Log Message:
-----------
[gn build] Port 628274dadf92
Commit: f2d2c99866dfd133e7b9c98b1d4983c6bce33d67
https://github.com/llvm/llvm-project/commit/f2d2c99866dfd133e7b9c98b1d4983c6bce33d67
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
M clang/test/SemaCXX/builtin-is-constant-evaluated.cpp
M clang/test/SemaCXX/class.cpp
M clang/test/SemaCXX/cxx0x-class.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
M clang/test/SemaTemplate/instantiate-static-var.cpp
Log Message:
-----------
[clang] Remove separate evaluation step for static class member init. (#142713)
We already evaluate the initializers for all global variables, as
required by the standard. Leverage that evaluation instead of trying to
separately validate static class members.
This has a few benefits:
- Improved diagnostics; we now get notes explaining what failed to
evaluate.
- Improved correctness: is_constant_evaluated is handled correctly.
The behavior follows the proposed resolution for CWG1721.
Fixes #88462. Fixes #99680.
Commit: c21a4c6c43bb6d68dfe52e07a5a391a6167eedf9
https://github.com/llvm/llvm-project/commit/c21a4c6c43bb6d68dfe52e07a5a391a6167eedf9
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.h
M llvm/lib/Target/Xtensa/XtensaFeatures.td
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
A llvm/test/MC/Disassembler/Xtensa/coprocessor.txt
A llvm/test/MC/Disassembler/Xtensa/debug.txt
A llvm/test/MC/Disassembler/Xtensa/exception.txt
A llvm/test/MC/Disassembler/Xtensa/highinterrupts.txt
A llvm/test/MC/Disassembler/Xtensa/interrupt.txt
A llvm/test/MC/Disassembler/Xtensa/prid.txt
A llvm/test/MC/Disassembler/Xtensa/timer.txt
M llvm/test/MC/Xtensa/Core/processor-control.s
A llvm/test/MC/Xtensa/coprocessor.s
A llvm/test/MC/Xtensa/debug-invalid.s
A llvm/test/MC/Xtensa/debug.s
A llvm/test/MC/Xtensa/exception.s
A llvm/test/MC/Xtensa/highinterrupts.s
A llvm/test/MC/Xtensa/interrupt.s
A llvm/test/MC/Xtensa/prid.s
A llvm/test/MC/Xtensa/timer.s
Log Message:
-----------
[Xtensa] Implement Xtensa Interrupt/Exception/Debug Options. (#143820)
Implement Xtensa Interrupt. HighInterrupts, Exception, Debug Options.
Also implement small Xtensa Options like PRID, Coprocessor and Timers.
Commit: 15482c83aa2b05779d7ad947c34835656ab9da1c
https://github.com/llvm/llvm-project/commit/15482c83aa2b05779d7ad947c34835656ab9da1c
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/ElimAvailExtern.cpp
A llvm/test/Transforms/EliminateAvailableExternally/convert-global-variables-to-local.ll
Log Message:
-----------
[ElimAvailExtern] Add an option to allow to convert global variables in a specified address space to local (#144287)
Currently, the `EliminateAvailableExternallyPass` only converts certain
available externally functions to local if `avail-extern-to-local` is
set or in
contextual profiling mode. For global variables, it only drops their
initializers.
This PR adds an option to allow the pass to convert global variables in
a
specified address space to local. The motivation for this change is to
correctly
support lowering of LDS variables (`__shared__` variables, in more
generic
terminology) when ThinLTO is enabled for AMDGPU.
A `__shared__` variable is lowered to a hidden global variable in a
particular
address space by the frontend, which is roughly same as a `static` local
variable. To properly lower it in the backend, the compiler needs to
check all
its uses. Enabling ThinLTO currently breaks this when a function
containing a
`__shared__` variable is imported from another module. Even though the
global
variable is imported along with its associated function, and the
function is
privatized by the `EliminateAvailableExternallyPass`, the global
variable itself
is not.
It's safe to privatize such global variables, because they're _local_ to
their
associated functions. If the function itself is privatized, its
associated
global variables should also be privatized accordingly.
Commit: 64155a32297f4884875783664ff13bec9ab376f5
https://github.com/llvm/llvm-project/commit/64155a32297f4884875783664ff13bec9ab376f5
Author: Minding <77574923+Minding000 at users.noreply.github.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm-c/ExecutionEngine.h
Log Message:
-----------
Added clarifying comment to 'LLVMLinkInMCJIT' and 'LLVMLinkInInterpreter' (#92467)
Clarify that these functions are no-ops when linking to LLVM as a shared object.
Commit: abbdd1670d8b12dd72ec353b14e256619ff4694b
https://github.com/llvm/llvm-project/commit/abbdd1670d8b12dd72ec353b14e256619ff4694b
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/include/llvm/Object/ELF.h
M llvm/lib/BinaryFormat/Dwarf.cpp
Log Message:
-----------
[llvm] minor fixes for clang-cl Windows DLL build (#144386)
## Purpose
This patch makes a minor changes to LLVM and Clang so that LLVM can be
built as a Windows DLL with `clang-cl`. These changes were not required
for building a Windows DLL with MSVC.
## Background
The Windows DLL 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
Specific changes made in this patch:
- Remove `constexpr` fields that reference DLL exported symbols. These
symbols cannot be resolved at compile time when building a Windows DLL
using `clang-cl`, so they cannot be `constexpr`. Instead, they are made
`const` and initialized in the implementation file rather than at
declaration in the header.
- Annotate symbols now defined out-of-line with `LLVM_ABI` so they are
exported when building as a shared library.
- Explicitly add default copy assignment operator for `ELFFile` to
resolve a compiler warning.
## 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: 99e263228f4513c166f20469968b2b646edaaa33
https://github.com/llvm/llvm-project/commit/99e263228f4513c166f20469968b2b646edaaa33
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
github: Add mips backend to PR autolabeler (#140909)
Commit: 4e090b6e84e33e2a442e3951253ca570f8f842f8
https://github.com/llvm/llvm-project/commit/4e090b6e84e33e2a442e3951253ca570f8f842f8
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lldb/source/Core/DynamicLoader.cpp
Log Message:
-----------
[lldb] Re-insert code to search for a binary by filepath if provided
July 14 2024 I landed a change to update progress reporting when
loading kernel/firmware binaries
https://github.com/llvm/llvm-project/pull/98845
In DynamicLoader::LoadBinaryWithUUIDAndAddress I removed code that
was setting the ModuleSpec to the provided name, if the name provided
is that of a file on disk. With this code missing, if a filepath
name is passed in, this code will fail to find that binary on the local
disk. There's nothing in the PR / intention that would lead to this
change, it was unintentional.
Commit: 86a09f36154fbd264f61ea6462c8cf48b1ff2eb0
https://github.com/llvm/llvm-project/commit/86a09f36154fbd264f61ea6462c8cf48b1ff2eb0
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M mlir/test/Dialect/XeGPU/invalid.mlir
A mlir/test/Dialect/XeGPU/layout.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
M mlir/test/Dialect/XeGPU/subgroup-map-propagation.mlir
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-rr.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg.mlir
Log Message:
-----------
[MLIR][XeGPU] Clean up xegpu op tests (#144592)
Test cleanup:
1) separate layout.mlir from ops.mlir for layout related test
2) remove lane layout for ops working at work item scope.
3) remove redundant test in create_tdesc/update_tdesc/prefetch.
4) remove "test_" from all test function name.
Commit: 0defde8e06338cbe968d55d1d9e8581d55f3ae2b
https://github.com/llvm/llvm-project/commit/0defde8e06338cbe968d55d1d9e8581d55f3ae2b
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/image-d16.ll
Log Message:
-----------
[AMDGPU] Support D16 folding for image.sample with multiple extractelement and fptrunc users (#141758)
Now we only support D16 folding for `image sample` instructions with a
single user: a `fptrunc` to half.
However, we can actually support D16 folding for image.sample
instructions with multiple users,
as long as each user follows the pattern of extractelement followed by
fptrunc to half.
For example:
```
%sample = call <4 x float> @llvm.amdgcn.image.sample
%e0 = extractelement <4 x float> %sample, i32 0
%h0 = fptrunc float %e0 to half
%e1 = extractelement <4 x float> %sample, i32 1
%h1 = fptrunc float %e1 to half
%e2 = extractelement <4 x float> %sample, i32 2
%h2 = fptrunc float %e2 to half
```
This change enables D16 folding for such cases and avoids generating
`v_cvt_f16_f32_e32` instructions.
Commit: 9265b1f0cff74c929214efb64f41183299f31772
https://github.com/llvm/llvm-project/commit/9265b1f0cff74c929214efb64f41183299f31772
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/test/Transforms/LowerTypeTests/blockaddress-2.ll
M llvm/test/Transforms/LowerTypeTests/cfi-icall-alias.ll
M llvm/test/Transforms/LowerTypeTests/export-alias.ll
M llvm/test/Transforms/LowerTypeTests/export-icall.ll
M llvm/test/Transforms/LowerTypeTests/function-disjoint.ll
M llvm/test/Transforms/LowerTypeTests/function.ll
M llvm/test/Transforms/LowerTypeTests/icall-branch-funnel.ll
M llvm/test/Transforms/LowerTypeTests/pr37625.ll
M llvm/test/Transforms/LowerTypeTests/section.ll
Log Message:
-----------
LowerTypeTests: Use jump table entry type as value type of jump table alias.
The motivation for this is that it causes the jump table entry's symbol
to have an st_size equal to the jump table entry size, instead of being
equal to the size of the entire jump table, which is incorrect and can
lead to unexpected behavior in binary analysis tools that rely on the
size field such as Bloaty.
Reviewers: fmayer
Reviewed By: fmayer
Pull Request: https://github.com/llvm/llvm-project/pull/144462
Commit: 8ddada41df0488358373cff1d31a47e5ef4961e0
https://github.com/llvm/llvm-project/commit/8ddada41df0488358373cff1d31a47e5ef4961e0
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features-andes.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/MC/RISCV/xandesvbfhcvt-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Andes XAndesVBFHCvt (Andes Vector BFLOAT16 Conversion) extension (#144320)
The spec can be found at:
https://github.com/andestech/andes-v5-isa/releases/tag/ast-v5_4_0-release.
This patch only supports assembler. The instructions are similar to
`Zvfbfmin` and the only difference with `Zvfbfmin` is that
`XAndesVBFHCvt` doesn't have mask variant.
Commit: a96a3f1b26baa8e5ee0abbac629f02566b7e9d1c
https://github.com/llvm/llvm-project/commit/a96a3f1b26baa8e5ee0abbac629f02566b7e9d1c
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
M lldb/source/Plugins/Process/minidump/MinidumpParser.h
Log Message:
-----------
[lldb][Minidump Parser] Implement a range data vector for minidump memory ranges (#136040)
Recently I was debugging a Minidump with a few thousand ranges, and came
across the (now deleted) comment:
```
// I don't have a sense of how frequently this is called or how many memory
// ranges a Minidump typically has, so I'm not sure if searching for the
// appropriate range linearly each time is stupid. Perhaps we should build
// an index for faster lookups.
```
blaming this comment, it's 9 years old! Much overdue for this simple fix
with a range data vector.
I had to add a default constructor to Range in order to implement the
RangeDataVector, but otherwise this just a replacement of look up logic.
Commit: a2ad65661ad560b04952d4d992248d2db3be36c8
https://github.com/llvm/llvm-project/commit/a2ad65661ad560b04952d4d992248d2db3be36c8
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/test/CodeGen/RISCV/xqcibm-cto-clo.ll
Log Message:
-----------
[RISCV] Add patterns for generating QC_CTO and QC_CLO (#144532)
These instructions count leading/trailing ones in the register.
Currently these are only generated when we have `Zbb` enabled (along
with `Xqcibm`) since it contains the `CTTZ/CTLZ` instructions.
Commit: e14f327d8094e02134efa98625acaf6fd43fee08
https://github.com/llvm/llvm-project/commit/e14f327d8094e02134efa98625acaf6fd43fee08
Author: Liao Chunyu <chunyu at iscas.ac.cn>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
Log Message:
-----------
[RISCV] Pre-test for #144461
Commit: af49a650e172d56d684581b66afa9ab0368ec8f9
https://github.com/llvm/llvm-project/commit/af49a650e172d56d684581b66afa9ab0368ec8f9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/test/CodeGen/PowerPC/f128-arith.ll
Log Message:
-----------
PowerPC: Add baseline tests for more f128 libcall handling (#144381)
Some of these incorrectly call the l suffixed version of libm
functions and others assert.
Commit: 7b9d10d2e6410029fd0750b2e0566432dbf03dc7
https://github.com/llvm/llvm-project/commit/7b9d10d2e6410029fd0750b2e0566432dbf03dc7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/test/CodeGen/PowerPC/f128-arith.ll
Log Message:
-----------
PowerPC: Fix using long double libm functions for f128 intrinsics (#144382)
This wasn't setting the correct libcall names, which default to the
l suffixed libm names.
Commit: ad9e591fd53f2cf91a2744973b59669d873658af
https://github.com/llvm/llvm-project/commit/ad9e591fd53f2cf91a2744973b59669d873658af
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/RISCV/rvv/extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-integer.ll
M llvm/test/CodeGen/RISCV/rvv/undef-earlyclobber-chain.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vfptoi-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
Log Message:
-----------
[SelectionDAG][RISCV] Fold (add (vscale * C0), (vscale * C1)) to (vscale * (C0 + C1)) in getNode. (#144565)
We already have shl/mul vscale related folds in getNode.
This is an alternative to the DAGCombine proposed in #144507.
Commit: 74687180dde07312521db09c6f6454fe9d1e5662
https://github.com/llvm/llvm-project/commit/74687180dde07312521db09c6f6454fe9d1e5662
Author: Kirill Chibisov <contact at kchibisov.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.h
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
A mlir/include/mlir/Dialect/EmitC/IR/EmitCInterfaces.h
A mlir/include/mlir/Dialect/EmitC/IR/EmitCInterfaces.td
R mlir/include/mlir/Dialect/EmitC/IR/EmitCTraits.h
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/EmitC/Transforms/FormExpressions.cpp
M mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
Log Message:
-----------
[mlir][emitc] Make CExpression trait into interface (#142771)
By defining `CExpressionInterface`, we move the side effect detection
logic from `emitc.expression` into the individual operations
implementing the interface allowing operations to gradually tune the
side effect.
It also allows checking for side effects each operation individually.
Commit: 10f29a607205c0c17ee9249a66feb63f0fdae182
https://github.com/llvm/llvm-project/commit/10f29a607205c0c17ee9249a66feb63f0fdae182
Author: Kunqiu Chen <camsyn at foxmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M compiler-rt/lib/msan/msan_interceptors.cpp
Log Message:
-----------
[MSan] Fix wrong unpoison size in SignalAction (#144071)
MSan should unpoison the parameters of extended signal handlers.
However, MSan unpoisoned the second parameter with the wrong size
`sizeof(__sanitizer_sigaction)`, inconsistent with its real type
`siginfo_t`.
This commit fixes this issue by correcting the size to
`sizeof(__sanitizer_siginfo)`.
Commit: 4d71f20b287e398f10bbff55d52bec9683ef89d2
https://github.com/llvm/llvm-project/commit/4d71f20b287e398f10bbff55d52bec9683ef89d2
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.ll
Log Message:
-----------
[GlobalISel] prevent G_UNMERGE_VALUES for vectors with different elements (#133335)
This commit prevents building a G_UNMERGE_VALUES instruction with
different source and destination vector elements in
`LegalizationArtifactCombiner::ArtifactValueFinder::tryCombineMergeLike()`,
e.g.:
`%1:_(<2 x s8>), %2:_(<2 x s8>) = G_UNMERGE_VALUES %0:_(<2 x s16>)`
This LLVM defect was identified via the AMD Fuzzing project.
Commit: 896e187a6e923b8441428f9db63c412d989fc51d
https://github.com/llvm/llvm-project/commit/896e187a6e923b8441428f9db63c412d989fc51d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineAndMaskToShift - pull out repeated SDLoc(). NFC.
Commit: dac94f28e696e8234ec69bbed549533ea6b00227
https://github.com/llvm/llvm-project/commit/dac94f28e696e8234ec69bbed549533ea6b00227
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineAndNotOrIntoAndNotAnd - pull out repeated SDLoc(). NFC.
Commit: 0875bee2b10185eca40aea3b3f49eb8462522eda
https://github.com/llvm/llvm-project/commit/0875bee2b10185eca40aea3b3f49eb8462522eda
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineAndNotIntoANDNP - pull out repeated SDLoc(). NFC.
Commit: 44b715293fcad79ef4a54474627ac574a759fa5a
https://github.com/llvm/llvm-project/commit/44b715293fcad79ef4a54474627ac574a759fa5a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/X86/fmaddsub.ll
Log Message:
-----------
[PhaseOrdering][X86] Copy FMUL+ADDSUB/FMADDSUB build vector patterns from codegen tests
As detailed on #144489 - confirm the vectorisation of scalar FMUL+ADDSUB/FMADDSUB on various targets
Commit: 45ea46c44636094e9fcdbbeabfd11f9d0fad5e38
https://github.com/llvm/llvm-project/commit/45ea46c44636094e9fcdbbeabfd11f9d0fad5e38
Author: Garvit Gupta <quic_garvgupt at quicinc.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/docs/Toolchain.rst
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/include/c++/8.2.1/.keep
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/.keep
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/crt0.o
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/bin/aarch64-none-elf-ld
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtbegin.o
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtend.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crt0.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crtbegin.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crtend.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/bin/aarch64-none-elf-ld
A clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/include/c++/8.2.1/.keep
A clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/.keep
A clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/crt0.o
A clang/test/Driver/Inputs/basic_arm_gcc_tree/bin/armv6m-none-eabi-ld
A clang/test/Driver/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtbegin.o
A clang/test/Driver/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtend.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crt0.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crtbegin.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crtend.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/bin/armv6m-none-eabi-ld
A clang/test/Driver/aarch64-gnutools.c
A clang/test/Driver/aarch64-toolchain-extra.c
A clang/test/Driver/aarch64-toolchain.c
A clang/test/Driver/arm-gnutools.c
A clang/test/Driver/arm-toolchain-extra.c
A clang/test/Driver/arm-toolchain.c
M clang/test/Driver/baremetal.cpp
A clang/test/Driver/check-no-multlib-warning.c
Log Message:
-----------
Reland [Driver] Add support for GCC installation detection in Baremetal toolchain (#144640)
This patch introduces enhancements to the Baremetal toolchain to support
GCC toolchain detection.
- If the --gcc-install-dir or --gcc-toolchain options are provided and
point to valid paths, the sysroot is derived from those locations.
- If not, the logic falls back to the existing sysroot inference
mechanism already present in the Baremetal toolchain.
- Support for adding include paths for the libstdc++ library has also
been added.
Additionally, the restriction to always use the integrated assembler has
been removed. With a valid GCC installation, the GNU assembler can now
be used as well.
This patch currently updates and adds tests for the ARM target only.
RISC-V-specific tests will be introduced in a later patch, once the
RISCVToolChain is fully merged into the Baremetal toolchain. At this
stage, there is no way to test the RISC-V target within this PR.
RFC:
https://discourse.llvm.org/t/merging-riscvtoolchain-and-baremetal-toolchains/75524
Commit: e07b1b26c38ba48af247b370a29eeb9879cefc97
https://github.com/llvm/llvm-project/commit/e07b1b26c38ba48af247b370a29eeb9879cefc97
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[DAG] Implement SDPatternMatch `m_Abs()` matcher (#144512)
Commit: a38932ac3c0a16226e3dde7f1532f117959c58df
https://github.com/llvm/llvm-project/commit/a38932ac3c0a16226e3dde7f1532f117959c58df
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.ll
Log Message:
-----------
Revert "[GlobalISel] prevent G_UNMERGE_VALUES for vectors with different elements" (#144650)
Reverts llvm/llvm-project#133335
Commit: 49df87e71b73b230ecb21335dcb5f5390eebdab3
https://github.com/llvm/llvm-project/commit/49df87e71b73b230ecb21335dcb5f5390eebdab3
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M libc/src/__support/FPUtil/dyadic_float.h
Log Message:
-----------
[libc][printf] Fix out-of-range shift in float320 printf (#144542)
If you enable `LIBC_CONF_PRINTF_FLOAT_TO_STR_USE_FLOAT320` and use a
`%f` style printf format directive to print a nonzero number too small
to show up in the output digits, e.g. `printf("%.2f", 0.001)`, then the
output would be intermittently incorrect, because
`DyadicFloat::as_mantissa_type_rounded` would try to shift the 320-bit
mantissa right by more than 320 bits, invoking the 'undefined behavior'
clause commented in the `shift()` function in `big_int.h`.
There were already tests in the libc test suite exercising this case,
e.g. the subnormal tests in `LlvmLibcSPrintfTest.FloatDecimalConv` use
`%f` at the default precision of 6 decimal places on tiny numbers such
as 2^-1027. But because the behavior is undefined, they don't visibly
fail all the time, and in all previous test runs we'd tried with
USE_FLOAT320, they had got lucky.
The fix is simply to detect an out-of-range right shift before doing it,
and instead just set the output value to zero.
Commit: ba40a7bc2e65be86ac23c9cf6038ac085dda77eb
https://github.com/llvm/llvm-project/commit/ba40a7bc2e65be86ac23c9cf6038ac085dda77eb
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-scalable-vf1.ll
Log Message:
-----------
[LoopVectorize] Vectorize fixed-order recurrence with vscale x 1. (#142772)
When the fixed-order recurrence phi is live-out from the loop, the
vectorizer uses VPInstruction::ExtractPenultimateElement to extract the
penultimate element from the recurrence vector. However, this is not
feasible when the VF is vscale x 1, since vscale could be 1, making the
vector contain only one element.
This patch changes the behavior for vscale x 1 by extracting the last
element from the vector produced by splicing the recurrence phi and the
previous value. This ensures we can still determine the correct live-out
value of the recurrence phi.
Commit: ca29c632f06fc0e02ebbbb9fbdc73e3abd6b096b
https://github.com/llvm/llvm-project/commit/ca29c632f06fc0e02ebbbb9fbdc73e3abd6b096b
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
A llvm/test/CodeGen/RISCV/icmp-non-byte-sized.ll
M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
M llvm/test/CodeGen/RISCV/memcmp.ll
Log Message:
-----------
[RISCV] Support non-power-of-2 types when expanding memcmp
We can convert non-power-of-2 types into extended value types
and then they will be widen.
Reviewers: lukel97
Reviewed By: lukel97
Pull Request: https://github.com/llvm/llvm-project/pull/114971
Commit: 59d6fbb8ffe03ceecfcc07ebe22e256c97ef70dd
https://github.com/llvm/llvm-project/commit/59d6fbb8ffe03ceecfcc07ebe22e256c97ef70dd
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
A flang/test/HLFIR/fir-local-alloca-block.fir
Log Message:
-----------
[flang][fir] Provide allocation block for `fir.local` when required (#144521)
Extends `fir::FirOpBuilder::getAllocaBlock()` to support `fir.local`.
This allows us to retrieve an allocation block when needed for
`fir.local`.
Commit: 255b55c602f73964262893859a543a115b278e21
https://github.com/llvm/llvm-project/commit/255b55c602f73964262893859a543a115b278e21
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
Log Message:
-----------
[GlobalOpt] Use cast instead of dyn_cast. NFC (#144634)
The dyn_cast was not checked for null, and the cast is guaranteed to
succeed by an earlier check.
Commit: 7ea7ccd24d603ceec6eb5194d98911e6ab7c0717
https://github.com/llvm/llvm-project/commit/7ea7ccd24d603ceec6eb5194d98911e6ab7c0717
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval-mir.ll
M llvm/test/CodeGen/PowerPC/aix-vec-arg-spills-mir.ll
M llvm/test/CodeGen/PowerPC/aix-vec-arg-spills.ll
M llvm/test/CodeGen/PowerPC/aix-vector-vararg-caller.ll
M llvm/test/CodeGen/PowerPC/aix-vector-vararg-fixed-caller.ll
Log Message:
-----------
[PowerPC][AIX] Specify pointer info and alignment for stack store (#144526)
When lowering call arguments to stack, specify a stack MPI, as well as
the stack alignment, instead of using the defaults (which would be an
unknown location with ABI alignment).
I believe the asm diffs are just changes in scheduling.
Commit: c16dc63b44ae039f2ac123a8ffbc90031767d00b
https://github.com/llvm/llvm-project/commit/c16dc63b44ae039f2ac123a8ffbc90031767d00b
Author: Mikael Holmen <mikael.holmen at ericsson.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[OMPIRBuilder] Fix gcc -Wparentheses warning [NFC]
Without this gcc warned like
/repo/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:7559:68: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
7559 | NumStaleCIArgs == (OffloadingArraysToPrivatize.size() + 2) &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
7560 | "Wrong number of arguments for StaleCI when shareds are present");
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Commit: 669627d0c77ed8408358bc8c5973255fe28a36ea
https://github.com/llvm/llvm-project/commit/669627d0c77ed8408358bc8c5973255fe28a36ea
Author: Philipp Jung <philippjung2010 at live.de>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
M clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
A clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.cpp
A clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/use-enum-class.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/use-enum-class.cpp
Log Message:
-----------
Add check 'cppcoreguidelines-use-enum-class' (#138282)
Warn on non-class enum definitions as suggested by the Core Guidelines:
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Renum-class
Commit: 43e1a5a411d972fe06a1afb86ffd5ba21fd2a376
https://github.com/llvm/llvm-project/commit/43e1a5a411d972fe06a1afb86ffd5ba21fd2a376
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
M mlir/include/mlir/Dialect/Mesh/Transforms/Passes.h
M mlir/include/mlir/Dialect/Mesh/Transforms/Passes.td
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
A mlir/test/Dialect/Mesh/backward-sharding-propagation.mlir
A mlir/test/Dialect/Mesh/forward-backward-sharding-propagation.mlir
A mlir/test/Dialect/Mesh/forward-sharding-propagation.mlir
Log Message:
-----------
[mlir][mesh] adding option for traversal order in sharding propagation (#144079)
The traversal order in sharding propagation was hard-coded. This PR
provides options to the pass to select a suitable order
- forward-only
- backward-only
- forward-backward
- backward-forward
Default is the previous behavior (backward-forward).
Commit: 355725a25e6be38d7a97cab9e206d2a16a1bd849
https://github.com/llvm/llvm-project/commit/355725a25e6be38d7a97cab9e206d2a16a1bd849
Author: Kunqiu Chen <camsyn at foxmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/test/Instrumentation/ThreadSanitizer/atomic-non-integer.ll
Log Message:
-----------
[TSan] Fix missing inst cleanup (#144067)
Commit 44e875ad5b2ce26826dd53f9e7d1a71436c86212 introduced a change that
replaces `ReplaceInstWithInst` with `Instruction::replaceAllUsesWith`,
without subsequent instruction cleanup.
This results in TSan leaving behind useless `load atomic` instructions
after 'replacing' them.
This commit adds cleanup back, consistent with the context.
Commit: 8e157fdbb7b4af9f67b139a9f05feaa9b338d3f5
https://github.com/llvm/llvm-project/commit/8e157fdbb7b4af9f67b139a9f05feaa9b338d3f5
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/builtin_call.cpp
Log Message:
-----------
[CIR] Add support for __builtin_assume (#144376)
This patch adds support for the `__builtin_assume` builtin function.
Commit: fe42d34274cac79794637bf2f69f85537dde8b74
https://github.com/llvm/llvm-project/commit/fe42d34274cac79794637bf2f69f85537dde8b74
Author: Ying Yi <ying.yi at sony.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/lib/Headers/bmiintrin.h
M clang/lib/Headers/immintrin.h
M clang/lib/Headers/keylockerintrin.h
M clang/lib/Headers/x86gprintrin.h
M clang/lib/Headers/x86intrin.h
Log Message:
-----------
[clang][headers]Remove unnecessary guard of !defined(__SCE__). (#144522)
Sony PlayStation now supports C++20, and we wish to change the default
C++ mode to C++20 sometime in the future. As such, the !defined(__SCE__)
guards are redundant and we want to remove them. This in turn makes the
entire guard lines redundant (always true), so this patch removes them
entirely.
Commit: 58c4fa96cb111ea8d399296838f4cb6a294115ca
https://github.com/llvm/llvm-project/commit/58c4fa96cb111ea8d399296838f4cb6a294115ca
Author: Karlo Basioli <k.basioli at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Fix bazel build for #142771 (#144659)
Commit: 6fcdde2a4eb9eaf34511ac3a35075be329fe1fae
https://github.com/llvm/llvm-project/commit/6fcdde2a4eb9eaf34511ac3a35075be329fe1fae
Author: Lucas Duarte Prates <lucas.prates at arm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M runtimes/CMakeLists.txt
Log Message:
-----------
[runtimes] Allow use of external llvm-lit on standalone builds (#144347)
When creating a standalone build of the runtimes sub-project, the
current CMake implementation looks for a lit executable that might
potentially exist in the build tree and unconditionally overrides the
value of `LLVM_EXTERNAL_LIT`. Due to this, any value passed via
`-DLLVM_EXTERNAL_LIT` when configuring the CMake project is ignored.
This change adds the `ALLOW_EXTERNAL` argument to the
`get_llvm_lit_path` call in the runtimes' CMakeLists.txt, allowing any
value previously set to be considered.
Commit: 757a0e6d3b6130a984960ee413a3c8a6f99c7cb5
https://github.com/llvm/llvm-project/commit/757a0e6d3b6130a984960ee413a3c8a6f99c7cb5
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
A llvm/test/CodeGen/SystemZ/fake-use-size.ll
Log Message:
-----------
[SystemZ] Treat FAKE_USE instructions as instructions without a size (#144390)
This patch fixes an error in which `FAKE_USE` instructions would trigger
an assertion in SystemZLongBranch due to them having a size of 0 without
being excepted in the assertion that each instruction, other than a set
of known 0-size instruction types, should have a non-0 size.
`FAKE_USE` instructions are no-op instructions that are emitted into
LLVM by the `-fextend-variable-liveness` clang flag to help preserve the
liveness of source variables in optimized code, and therefore they
should be understood as being valid size 0 instructions.
Commit: bb00fd087a3c3e02fb812e41218ad0a85d9f0fe1
https://github.com/llvm/llvm-project/commit/bb00fd087a3c3e02fb812e41218ad0a85d9f0fe1
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/cppcoreguidelines/BUILD.gn
Log Message:
-----------
[gn build] Port 669627d0c77e
Commit: cd8248f3e856a37cc1addcb74475b4d37dc8aa42
https://github.com/llvm/llvm-project/commit/cd8248f3e856a37cc1addcb74475b4d37dc8aa42
Author: Scott Constable <scott.d.constable at intel.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/test/CodeGen/X86/kcfi-arity.ll
Log Message:
-----------
Fixed a bug in `-fsanitize-kcfi-arity` (#142867)
Compiling with `fsanitize-kcfi-arity` can crash the compiler if a
function has more than 6 arguments, including floating-point arguments
passed in XMM registers. This patch fixes the feature by only counter
integer and stack arguments toward kCFI arity. For example, the compiler
crashed when it attempted to generate kCFI arity information for this
function:
https://github.com/torvalds/linux/blob/16b70698aa3ae7888826d0c84567c72241cf6713/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.h#L680
As noted in a comment, floating-point registers are not relevant to
enforcing kCFI at this time.
Commit: dac0820b277835b7506a9c0d1dc5e077597f6742
https://github.com/llvm/llvm-project/commit/dac0820b277835b7506a9c0d1dc5e077597f6742
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/test/CodeGen/Thumb2/mve-shuffle.ll
M llvm/test/CodeGen/Thumb2/mve-vld3.ll
M llvm/test/CodeGen/Thumb2/schedm7-hazard.ll
Log Message:
-----------
[Thumb2] Regenerate some test checks. NFC
Commit: 5a9cc93a2058e2c26d766f7be6aee63e928bf825
https://github.com/llvm/llvm-project/commit/5a9cc93a2058e2c26d766f7be6aee63e928bf825
Author: Karlo Basioli <k.basioli at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Fix for bazel build #142079 (#144665)
Commit: a13b7cc00c5f4b9d2636ed7a22c1390cf8033baf
https://github.com/llvm/llvm-project/commit/a13b7cc00c5f4b9d2636ed7a22c1390cf8033baf
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/test/Transforms/LICM/call-hoisting.ll
M llvm/test/Transforms/LICM/funclet.ll
Log Message:
-----------
[LICM] Support hoisting of non-argmemonly readonly calls (#144497)
The code checking whether a readonly call is safe to hoist is
currently limited to only argmemonly calls. However, the actual
implementation does not depend on this in any way. It either
does an MSSA clobber walk on the memory access (which will take
all locations accessed by the call into account), or it will
look at all MemoryDefs in an entirely location-independent manner.
The current restriction dates back to the time when LICM still
supported AST, in which case this code *did* reason about the
individual pointer arguments.
Commit: ee4c2bb68752a6c4b463f3873cde278b8d348628
https://github.com/llvm/llvm-project/commit/ee4c2bb68752a6c4b463f3873cde278b8d348628
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M lldb/test/Shell/SymbolFile/DWARF/x86/explicit-member-function-quals.cpp
Log Message:
-----------
[lldb][test] explicit-member-function-quals.cpp: add -glldb
This will get un-XFAILed but requires `-glldb` in an upcoming patch.
Commit: 561eca44e7639ee8805d0bf65a59b9898d782538
https://github.com/llvm/llvm-project/commit/561eca44e7639ee8805d0bf65a59b9898d782538
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
A llvm/test/CodeGen/PowerPC/aix32-cc-abi-vaarg-mir.ll
M llvm/test/CodeGen/PowerPC/aix32-cc-abi-vaarg.ll
A llvm/test/CodeGen/PowerPC/aix64-cc-abi-vaarg-mir.ll
M llvm/test/CodeGen/PowerPC/aix64-cc-abi-vaarg.ll
Log Message:
-----------
[PowerPC] Split tests into asm and mir parts (NFC)
To allow both to be generated.
Commit: acde20b5605f3a3a8da2217e4526fc045e6603ed
https://github.com/llvm/llvm-project/commit/acde20b5605f3a3a8da2217e4526fc045e6603ed
Author: Steven Perron <stevenperron at google.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/AST/HLSL/vk.spec-constant.usage.hlsl
R clang/test/CodeGenHLSL/inline-spirv/SpirvType.alignment.hlsl
R clang/test/CodeGenHLSL/inline-spirv/SpirvType.hlsl
A clang/test/CodeGenHLSL/vk-features/SpirvType.alignment.hlsl
A clang/test/CodeGenHLSL/vk-features/SpirvType.hlsl
A clang/test/CodeGenHLSL/vk-features/vk.spec-constant.hlsl
A clang/test/SemaHLSL/vk.spec-constant.error.hlsl
Log Message:
-----------
[HLSL][SPIRV] Add vk::constant_id attribute. (#143544)
The vk::constant_id attribute is used to indicate that a global const
variable
represents a specialization constant in SPIR-V. This PR adds this
attribute to clang.
The documentation for the attribute is
[here](https://github.com/microsoft/DirectXShaderCompiler/blob/main/docs/SPIR-V.rst#specialization-constants).
The strategy is to to modify the initializer to get the value of a
specialize constant for a builtin defined in the SPIR-V backend.
Implements https://github.com/llvm/wg-hlsl/pull/287
Fixes https://github.com/llvm/llvm-project/issues/142448
---------
Co-authored-by: Nathan Gauër <github at keenuts.net>
Commit: d3441f7348203cc2a1d9c44fd24c1113954aa2b2
https://github.com/llvm/llvm-project/commit/d3441f7348203cc2a1d9c44fd24c1113954aa2b2
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Change getSmallBestKnownTC to return an ElementCount (NFC) (#141793)
This is prep work for enabling better UF calculations when using vscale
based VFs to vectorise loops with vscale based tripcounts.
NOTE: NFC because All uses remain fixed-length until a following PR
changes LoopVectorize's version of getSmallConstantTripCount().
Commit: b7ef5dbac91f9ccaf335ae4dd998e5783523f24e
https://github.com/llvm/llvm-project/commit/b7ef5dbac91f9ccaf335ae4dd998e5783523f24e
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
Log Message:
-----------
[LLVM][ComplexDeinterleaving] Update splat identification to include vector ConstantInt/FP. (#144516)
Commit: b5967264b0fbfd502b3a7edec27409e966fb68be
https://github.com/llvm/llvm-project/commit/b5967264b0fbfd502b3a7edec27409e966fb68be
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm/Support/CodeGen.h
M llvm/include/llvm/Target/TargetOptions.h
Log Message:
-----------
CodeGen: Move ABI option enums to support (#142912)
Move these out of TargetOptions and into Support to avoid
the dependency on Target. There are similar ABI options
already in Support/CodeGen.h.
Commit: 4aca3dc48b0919b81bd86302b141f29869266c45
https://github.com/llvm/llvm-project/commit/4aca3dc48b0919b81bd86302b141f29869266c45
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
Log Message:
-----------
Reland: [GlobalISel] prevent G_UNMERGE_VALUES for vectors with different elements (#144661)
This commit prevents building a G_UNMERGE_VALUES instruction with
different source and destination vector elements in
`LegalizationArtifactCombiner::ArtifactValueFinder::tryCombineMergeLike()`,
e.g.:
`%1:_(<2 x s8>), %2:_(<2 x s8>) = G_UNMERGE_VALUES %0:_(<2 x s16>)`
This LLVM defect was identified via the AMD Fuzzing project.
Commit: c3efe7d64cebcd8679bec3ba7ff8154f8b0a1fa4
https://github.com/llvm/llvm-project/commit/c3efe7d64cebcd8679bec3ba7ff8154f8b0a1fa4
Author: Martin Storsjö <martin at martin.st>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M libcxx/test/libcxx/odr_signature.exceptions.sh.cpp
M libcxx/test/libcxx/odr_signature.hardening.sh.cpp
Log Message:
-----------
[libcxx] [test] Fix odr_signature tests with optimizations enabled (#144317)
If optimization is enabled, the inline `f()` function actually gets
inlined, meaning that the functions `tu1()` and `tu2()` trivially return
1 and 2, instead of actually referencing the potentially linker
deduplicated function `f()`, which is what the test tries to test.
Therefore, this test previously actually failed to test what it was
supposed to test, if optimization was enabled.
Mark the inline functions with `TEST_NOINLINE` to make sure that they
don't get inlined even with optimizations enabled.
Also update the TODO comments to explain why we have an XFAIL for msvc
mode here.
This avoids these tests unexpectedly passing if building in msvc mode,
with optimizations enabled
(`-DLIBCXX_TEST_PARAMS="optimization=speed"`).
Commit: 66d6964a55014e7fabb7c80fbba19d2145262b6b
https://github.com/llvm/llvm-project/commit/66d6964a55014e7fabb7c80fbba19d2145262b6b
Author: Garvit Gupta <quic_garvgupt at quicinc.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/test/Driver/aarch64-toolchain-extra.c
M clang/test/Driver/aarch64-toolchain.c
M clang/test/Driver/arm-toolchain-extra.c
M clang/test/Driver/arm-toolchain.c
Log Message:
-----------
Fix tests failing on fuchsia clang x86_64 builders (#144655)
Fuchsia sets CLANG_DEFAULT_UNWINDLIB to libunwind. As a result, when
rtlib is set to libgcc and unwindlib is not explicitly specified, tests
using Fuchsia as the default platform will fail. To address this, the
affected tests are now xfailed
This change fixes the following tests introduced in
https://github.com/llvm/llvm-project/commit/45ea46c44636094e9fcdbbeabfd11f9d0fad5e38:
clang/test/Driver/aarch64-toolchain-extra.c
clang/test/Driver/arm-toolchain-extra.c
clang/test/Driver/aarch64-toolchain.c
clang/test/Driver/arm-toolchain.c
Commit: 8a469da8b2342dd9104faf25deeddd8ad66ca6a6
https://github.com/llvm/llvm-project/commit/8a469da8b2342dd9104faf25deeddd8ad66ca6a6
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/ExpandOps.cpp
M mlir/test/Dialect/MemRef/expand-ops.mlir
Log Message:
-----------
[mlir] remove unnecessary atomic_rmw expansions (#144515)
The expansion of `memref.atomic_rmw` into a `memref.generic_atomic_rmw`
for floating-point min/max operations is no longer necessary as those
are now supported by the LLVM dialect and LLVM IR.
Furthermore, combining this expansion with direct lowering of
`generic_atomic_rmw` could leads to invalid LLVM dialect IR with
`cmpxchg` operating on floating-point values that it does not support.
Commit: d8e8ab79773f739c602c5869f80c6c5b5962c558
https://github.com/llvm/llvm-project/commit/d8e8ab79773f739c602c5869f80c6c5b5962c558
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/test/CodeGen/AArch64/stack-hazard.ll
Log Message:
-----------
[AArch64][SME] Fix restoring callee-saves from FP with hazard padding (#143371)
Currently, when hazard-padding is enabled a (fixed-size) hazard slot is
placed in the CS area, just after the frame record. The size of this
slot is part of the "CalleeSaveBaseToFrameRecordOffset". The SVE
epilogue emission code assumed this offset was always zero, and
incorrectly setting the stack pointer, resulting in all SVE registers
being reloaded from incorrect offsets.
```
| prev_lr |
| prev_fp |
| (a.k.a. "frame record") |
|-----------------------------------| <- fp(=x29)
| <hazard padding> |
|-----------------------------------| <- callee-saved base
| |
| callee-saved fp/simd/SVE regs |
| |
|-----------------------------------| <- SVE callee-save base
```
i.e. in the above diagram, the code assumed `fp == callee-saved base`.
Commit: 34a48941498d95ec2682f7adaeb6115b7b4d70ba
https://github.com/llvm/llvm-project/commit/34a48941498d95ec2682f7adaeb6115b7b4d70ba
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] detectZextAbsDiff - use SDPatternMatch::m_Abs() matcher. NFC.
Commit: 7c15edb306932e41c159f3d69c161ed0d89d47b7
https://github.com/llvm/llvm-project/commit/7c15edb306932e41c159f3d69c161ed0d89d47b7
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/Floating.h
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/IntegralAP.h
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/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/Program.h
M clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
Reapply "[clang][bytecode] Allocate IntegralAP and Floating types usi… (#144676)
…ng an allocator (#144246)"
This reverts commit 57828fec760f086b334ce0cb1c465fc559dcaea4.
Commit: 6265ca686dfe18e6032e59637f144bad7ea6cf2b
https://github.com/llvm/llvm-project/commit/6265ca686dfe18e6032e59637f144bad7ea6cf2b
Author: Ties Stuij <ties.stuij at arm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64Processors.td
A llvm/lib/Target/AArch64/AArch64SchedA320.td
A llvm/test/tools/llvm-mca/AArch64/Cortex/A320-basic-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Cortex/A320-neon-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Cortex/A320-sve-instructions.s
Log Message:
-----------
[AArch64] Add Cortex-A320 scheduling model (#144385)
Instead of using the Cortex-A510 scheduling model, Cortex-A320 now uses
its own scheduling model, based off of the Cortex-A320 Software
Optimization Guide:
https://developer.arm.com/documentation/110285/r0p1
---------
Co-authored-by: Nashe Mncube <Nashe.Mncube at arm.com>
Commit: a1c2a712939897251729b6fc436a2db7db6f03fc
https://github.com/llvm/llvm-project/commit/a1c2a712939897251729b6fc436a2db7db6f03fc
Author: Andrei Golubev <andrey.golubev at intel.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparsificationAndBufferizationPass.cpp
Log Message:
-----------
[mlir][bufferization] Use Type instead of Value in unknown conversion (#144658)
Generally, bufferization should be able to create a memref from a tensor
without needing to know more than just a mlir::Type. Thus, change
BufferizationOptions::UnknownTypeConverterFn to accept just a type
(mlir::TensorType for now) instead of mlir::Value. Additionally, apply
the same rationale to getMemRefType() helper function.
Both changes are prerequisites to enable custom types support in
one-shot bufferization.
Commit: 66580f77b826e71a9727f1d6287bec6a6101f620
https://github.com/llvm/llvm-project/commit/66580f77b826e71a9727f1d6287bec6a6101f620
Author: Matthias Springer <me at m-sp.org>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Dialect Conversion: Keep `unresolvedMaterializations` up to date (#144254)
`unresolvedMaterializations` is a mapping from
`UnrealizedConversionCastOp` to `UnresolvedMaterializationRewrite`. This
mapping is needed to find the correct type converter for an unresolved
materialization.
With this commit, `unresolvedMaterializations` is updated immediately
when an op is being erased. This also cleans up the code base a bit:
`SingleEraseRewriter` is now used only during the "cleanup" phase and no
longer needed as a field of `ConversionRewriterImpl`.
This commit is in preparation of the One-Shot Dialect Conversion
refactoring: `allowPatternRollback = false` will in the future trigger
immediate materialization of all IR changes.
Commit: 4b2ab1494bc07493087252dff4e5e19808703048
https://github.com/llvm/llvm-project/commit/4b2ab1494bc07493087252dff4e5e19808703048
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Lower/OpenMP/Todo/declare-mapper-iterator.f90
Log Message:
-----------
[flang][OpenMP] Don't crash on iterator modifier in declare mapper (#144359)
Both the declare mapper directive argument, and the iterator modifier
can contain declaration-type-spec, so make sure that the processing of
one ends before processing of the other begins in semantic analysis.
Commit: a83d3362f686725bac76bfb9562663908de25f15
https://github.com/llvm/llvm-project/commit/a83d3362f686725bac76bfb9562663908de25f15
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
R flang/test/Lower/OpenMP/Todo/omp-doconcurrent.f90
A flang/test/Semantics/OpenMP/do-concurrent-collapse.f90
Log Message:
-----------
[flang][OpenMP] Don't allow DO CONCURRENT inside of a loop nest (#144506)
I don't think DO CONCURRENT fits the definition of a Canonical Loop Nest
(OpenMP 6.0 section 6.4.1).
It is however explicitly allowed for the LOOP construct (6.0 section
13.8).
There's some obscure language in OpenMP 6.0 for the LOOP construct:
> If the collapsed loop is a DO CONCURRENT loop, neither the
> data-sharing attribute clauses nor the collapse clause may be
specified.
>From the surrounding context, I think "collapsed loop" just means the
loop that the LOOP construct applies to. So I will interpret this to
mean that DO CONCURRENT can only be used with the LOOP construct if it
does not contain the COLLAPSE clause.
This also fixes a bug where the associated clause was never cleared
after it was set.
Fixes #144178
Commit: 8584abb05a84d3bf4e84cdfe4154d7ade8bdfd04
https://github.com/llvm/llvm-project/commit/8584abb05a84d3bf4e84cdfe4154d7ade8bdfd04
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
A mlir/test/Target/SPIRV/lit.local.cfg
R mlir/test/lit.local.cfg
Log Message:
-----------
[mlir] mlir/test/lit.local.cfg -> mlir/test/Target/SPIRV/lit.local.cfg (#144685)
renamed: mlir/test/lit.local.cfg -> mlir/test/Target/SPIRV/lit.local.cfg
Commit: 68471d29eed2c49f9b439e505b3f24d387d54f97
https://github.com/llvm/llvm-project/commit/68471d29eed2c49f9b439e505b3f24d387d54f97
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/Floating.h
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/IntegralAP.h
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/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/Program.h
M clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
Revert "Reapply "[clang][bytecode] Allocate IntegralAP and Floating types usi… (#144676)"
This reverts commit 7c15edb306932e41c159f3d69c161ed0d89d47b7.
This still breaks clang-armv8-quick:
https://lab.llvm.org/buildbot/#/builders/154/builds/17587
Commit: 6729da647afa2b0ee040ccd4f06153e45d6ca738
https://github.com/llvm/llvm-project/commit/6729da647afa2b0ee040ccd4f06153e45d6ca738
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.h
M mlir/lib/Dialect/AMDGPU/Transforms/EmulateAtomics.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/ResolveStridedMetadata.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp
Log Message:
-----------
[mlir][amdgpu][nfc] Add PatternBenefit to populate methods (#144663)
Commit: c4d99704e22097703c57ee67baea96fdabfd68ab
https://github.com/llvm/llvm-project/commit/c4d99704e22097703c57ee67baea96fdabfd68ab
Author: Garvit Gupta <quic_garvgupt at quicinc.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/docs/Toolchain.rst
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/include/c++/8.2.1/.keep
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/.keep
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/crt0.o
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/bin/aarch64-none-elf-ld
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtbegin.o
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtend.o
R clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crt0.o
R clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crtbegin.o
R clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crtend.o
R clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/bin/aarch64-none-elf-ld
R clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/include/c++/8.2.1/.keep
R clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/.keep
R clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/crt0.o
R clang/test/Driver/Inputs/basic_arm_gcc_tree/bin/armv6m-none-eabi-ld
R clang/test/Driver/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtbegin.o
R clang/test/Driver/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtend.o
R clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crt0.o
R clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crtbegin.o
R clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crtend.o
R clang/test/Driver/Inputs/basic_arm_nogcc_tree/bin/armv6m-none-eabi-ld
R clang/test/Driver/aarch64-gnutools.c
R clang/test/Driver/aarch64-toolchain-extra.c
R clang/test/Driver/aarch64-toolchain.c
R clang/test/Driver/arm-gnutools.c
R clang/test/Driver/arm-toolchain-extra.c
R clang/test/Driver/arm-toolchain.c
M clang/test/Driver/baremetal.cpp
R clang/test/Driver/check-no-multlib-warning.c
Log Message:
-----------
Revert "Reland [Driver] Add support for GCC installation detection in… (#144684)
… Baremetal toolchain (#144640)"
This reverts commit 45ea46c44636094e9fcdbbeabfd11f9d0fad5e38.
Commit: 1f34d68c4f086e7ea6ef9a529f9606476b38bbbb
https://github.com/llvm/llvm-project/commit/1f34d68c4f086e7ea6ef9a529f9606476b38bbbb
Author: Tobias Stadler <mail at stadler-tobias.de>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-opt-report.rst
M llvm/docs/Remarks.rst
M llvm/include/llvm/Remarks/RemarkFormat.h
M llvm/include/llvm/Remarks/RemarkParser.h
M llvm/include/llvm/Remarks/YAMLRemarkSerializer.h
M llvm/lib/Remarks/BitstreamRemarkParser.cpp
M llvm/lib/Remarks/BitstreamRemarkParser.h
M llvm/lib/Remarks/RemarkFormat.cpp
M llvm/lib/Remarks/RemarkLinker.cpp
M llvm/lib/Remarks/RemarkParser.cpp
M llvm/lib/Remarks/RemarkSerializer.cpp
M llvm/lib/Remarks/RemarkStreamer.cpp
M llvm/lib/Remarks/YAMLRemarkParser.cpp
M llvm/lib/Remarks/YAMLRemarkParser.h
M llvm/lib/Remarks/YAMLRemarkSerializer.cpp
M llvm/test/CodeGen/X86/remarks-section.ll
M llvm/unittests/Remarks/RemarksLinkingTest.cpp
M llvm/unittests/Remarks/YAMLRemarksParsingTest.cpp
M llvm/unittests/Remarks/YAMLRemarksSerializerTest.cpp
Log Message:
-----------
[Remarks] Remove yaml-strtab format (#144527)
Background: The yaml-strtab format looks just like the yaml format,
except that the values in the key/value pairs of the remarks are
deduplicated and replaced by indices into a string table (see removed
test cases for examples). The motivation behind this format was to
reduce size of the remarks files. However, it was quickly superseded by
the bitstream format.
Therefore, remove the yaml-strtab format, as it doesn't have a good
usecase anymore:
- It isn't particularly efficient
- It isn't human-readable
- It isn't straightforward to parse in external tools that can't use the
remarks library. We don't even support it in opt-viewer.
llvm-remarkutil is also missing options to parse/convert yaml-strtab, so
the chance that anyone is actually using this format is low.
Commit: 671caef379c603d2bcc428a00e3535b230162941
https://github.com/llvm/llvm-project/commit/671caef379c603d2bcc428a00e3535b230162941
Author: Jack Styles <jack.styles at arm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/allocate-align01.f90
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/allocate02.f90
M flang/test/Semantics/OpenMP/allocate03.f90
M flang/test/Semantics/OpenMP/allocate05.f90
M flang/test/Semantics/OpenMP/allocate06.f90
M flang/test/Semantics/OpenMP/allocate09.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/deprecation.f90
M flang/test/Semantics/OpenMP/flush02.f90
M flang/test/Semantics/OpenMP/nested-barrier.f90
M flang/test/Semantics/OpenMP/nested-master.f90
M flang/test/Semantics/OpenMP/nested-teams.f90
M flang/test/Semantics/OpenMP/ordered-simd.f90
M flang/test/Semantics/OpenMP/parallel-master-goto.f90
Log Message:
-----------
[Flang][OpenMP] Update relevant warnings to emit when OMP >= v5.2 (#144492)
There has been a number of deprecation warnings that have been added to
Flang, however these features are only deprecated when the OpenMP
Version being used is 5.2 or later. Previously, flang did not consider
the version with the warnings so would always be emitted.
Flang now ensures warnings are emitted for the appropriate version of
OpenMP, and tests are updated to reflect this change.
Commit: fda6b751f1b1356e65816f85fbc5b98e78337940
https://github.com/llvm/llvm-project/commit/fda6b751f1b1356e65816f85fbc5b98e78337940
Author: Eric Fiselier <eric at efcs.ca>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M .github/workflows/libcxx-restart-preempted-jobs.yaml
Log Message:
-----------
Fix libc++ restarter job.
A while ago, the test workflow was updated with a new preemption regex,
however it was only applied to the test job, and not the job
that's actually restarting the failed libc++ test runs.
This fix should correct the issue and get the restarter working
again.
Commit: bdac9580f3bc341ccbeeb743ecca656756f5aaec
https://github.com/llvm/llvm-project/commit/bdac9580f3bc341ccbeeb743ecca656756f5aaec
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
Log Message:
-----------
[nfc][jt] Drop `std::optional` pointers (#144548)
The `std::optional` didn't add any semantics that couldn't be modeled with the pointers being `nullptr`.
Commit: c5613dc8635000bc0e8396b8156d5639195776ab
https://github.com/llvm/llvm-project/commit/c5613dc8635000bc0e8396b8156d5639195776ab
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
M mlir/test/Integration/GPU/CUDA/dump-ptx.mlir
Log Message:
-----------
[MLIR] Mark LLVM::FMAOp as legal (#144671)
Mark LLVM::FMAOp as legal in configureGpuToNVVMConversionLegality, since
we can handle intrinsic lowering in the NVPTX backend and emit
fma.rn.f32.
Commit: 1d6f1029f7e8cf5468309078da3e85201844b625
https://github.com/llvm/llvm-project/commit/1d6f1029f7e8cf5468309078da3e85201844b625
Author: Sergei Lebedev <185856+superbobry at users.noreply.github.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
Log Message:
-----------
[mlir] [python] Fixed the return type of `MemRefType.get_strides_and_offset` (#144523)
Previously, the return type for `offset` was `list[int]`, which clearly
is not right.
Commit: 9db7502d229b48817521429c2a5d3fb84543fdf9
https://github.com/llvm/llvm-project/commit/9db7502d229b48817521429c2a5d3fb84543fdf9
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M libcxx/include/__iterator/iterator_traits.h
Log Message:
-----------
[libc++] Move __has_iterator_typedefs to the up-to-C++17 implementation of iterator_traits (#144265)
`__has_iterator_typedefs` is only used in the up-to-C++17 implementation
of `type_traits`. To make that clearer the struct is moved into that
code block.
Commit: 40d2f392106f43a60eea79f433b47a5ce44fc4a4
https://github.com/llvm/llvm-project/commit/40d2f392106f43a60eea79f433b47a5ce44fc4a4
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/SemaObjC.h
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/test/SemaObjCXX/arc-type-conversion.mm
Log Message:
-----------
[Sema][ObjC] Loosen restrictions on reinterpret_cast involving indirect ARC-managed pointers (#144458)
Allow using reinterpret_cast for conversions between indirect ARC
pointers and other pointer types.
rdar://152905399
Commit: ee070d08163ac09842d9bf0c1315f311df39faf1
https://github.com/llvm/llvm-project/commit/ee070d08163ac09842d9bf0c1315f311df39faf1
Author: Andrei Golubev <andrey.golubev at intel.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationTypeInterfaces.h
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationTypeInterfaces.td
M mlir/include/mlir/Dialect/Bufferization/IR/UnstructuredControlFlow.h
M mlir/lib/Dialect/Arith/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizationDialect.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
A mlir/lib/Dialect/Bufferization/IR/BufferizationTypeInterfaces.cpp
M mlir/lib/Dialect/Bufferization/IR/CMakeLists.txt
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Shape/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.h
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lib/Dialect/Test/TestTypes.cpp
Log Message:
-----------
[mlir][bufferization] Support custom types (1/N) (#142986)
Following the addition of TensorLike and BufferLike type interfaces (see
00eaff3e9c897c263a879416d0f151d7ca7eeaff), introduce minimal changes
required to bufferize a custom tensor operation into a custom buffer
operation.
To achieve this, new interface methods are added to TensorLike type
interface that abstract away the differences between existing (tensor ->
memref) and custom conversions.
The scope of the changes is intentionally limited (for example,
BufferizableOpInterface is untouched) in order to first understand the
basics and reach consensus design-wise.
---
Notable changes:
* mlir::bufferization::getBufferType() returns BufferLikeType (instead
of BaseMemRefType)
* ToTensorOp / ToBufferOp operate on TensorLikeType / BufferLikeType.
Operation argument "memref" renamed to "buffer"
* ToTensorOp's tensor type inferring builder is dropped (users now need
to provide the tensor type explicitly)
Commit: 6f4add34801e6ce02a5ebc96df4d1ca479125649
https://github.com/llvm/llvm-project/commit/6f4add34801e6ce02a5ebc96df4d1ca479125649
Author: Omair Javaid <omair.javaid at linaro.org>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M compiler-rt/lib/fuzzer/tests/CMakeLists.txt
Log Message:
-----------
[compiler-rt] [Fuzzer] Fix ARMv7 test link failure by linking unwinder (#144495)
compiler-rt/lib/fuzzer/tests build was failing on armv7, with undefined
references to unwinder symbols, such as __aeabi_unwind_cpp_pr0.
This occurs because the test is built with `-nostdlib++` but `libunwind`
is not explicitly linked to the final test executable.
This patch resolves the issue by adding CMake logic to explicitly link
the required unwinder to the fuzzer tests, inspired by the same solution
used to fix Scudo build failures by https://reviews.llvm.org/D142888.
Commit: 36038a1048b2aab87ed18f982e960c044ad97670
https://github.com/llvm/llvm-project/commit/36038a1048b2aab87ed18f982e960c044ad97670
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
[RemoveDIs][NFC] Remove dbg intrinsic handling code from SelectionDAG ISel (#144702)
Commit: 8fc20bffabe7fe6cdc4a9ec1bc79202eba5f1f23
https://github.com/llvm/llvm-project/commit/8fc20bffabe7fe6cdc4a9ec1bc79202eba5f1f23
Author: Karlo Basioli <k.basioli at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
Fix bazel build issue caused by 142986 (#144721)
Commit: e4c3b037bc7f5d9a8089de4c509d3e6034735891
https://github.com/llvm/llvm-project/commit/e4c3b037bc7f5d9a8089de4c509d3e6034735891
Author: amordo <iammorjj at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
A llvm/test/Transforms/InstCombine/fmul-tan-cos.ll
Log Message:
-----------
[InstCombine] Fold `tan(x) * cos(x) => sin(x)` (#136319)
This patch enables folding `tan(x) * cos(x) -> sin(x)` under the `contract` flag.
Fixes https://github.com/llvm/llvm-project/issues/34950.
Commit: b53c1e4ee810ac21dab5d27413af1f31a6a4cbfa
https://github.com/llvm/llvm-project/commit/b53c1e4ee810ac21dab5d27413af1f31a6a4cbfa
Author: John Brawn <john.brawn at arm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/vector-ldst-offset.ll
M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
Log Message:
-----------
[AArch64] Add ISel for postindex ld1/st1 in big-endian (#144387)
When big-endian we need to use ld1/st1 for vector loads and stores so
that we get the elements in the correct order, but this prevents
postindex addressing from being used. Fix this by adding the appropriate
ISel patterns, plus the relevant changes in ISelLowering and
ISelDAGToDAG to cause postindex addressing to be used.
Commit: 3af4d4e8100fda2a7e1bd0dbbe0914b584ad08d6
https://github.com/llvm/llvm-project/commit/3af4d4e8100fda2a7e1bd0dbbe0914b584ad08d6
Author: Nathan Gauër <brioche at google.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/test/CodeGenHLSL/semantics/SV_Position.ps.hlsl
A llvm/test/CodeGen/SPIRV/linkage/link-attribute-vk.ll
Log Message:
-----------
[HLSL][SPIR-V] Fix LinkageAttribute emission for BuiltIn (#144701)
BuiltIn variables were missing the visibility attribute, which caused
the Linkage capability to be emitted by the backend.
Commit: 8b8a3699dbdbb5d7865b0fe330d972c3fa380f1e
https://github.com/llvm/llvm-project/commit/8b8a3699dbdbb5d7865b0fe330d972c3fa380f1e
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/sve2p1-vector-shuffles.ll
Log Message:
-----------
[AArch64] Use dupq (SVE2.1) for segmented lane splats (#144482)
Use the dupq instructions (when available) to represent a splat of the
same lane within each 128b segment of a wider fixed vector.
Commit: 9da9d32670ddbf610f0788236e78b2382037f00b
https://github.com/llvm/llvm-project/commit/9da9d32670ddbf610f0788236e78b2382037f00b
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/idot4s.ll
M llvm/test/CodeGen/AMDGPU/idot4u.ll
M llvm/test/CodeGen/AMDGPU/llvm.frexp.ll
A llvm/test/CodeGen/AMDGPU/sext-in-reg-vector-shuffle.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smin.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] sext i16 inreg in true16 mode (#144024)
update sext pattern in true16, setting up proper vgpr16 reg use
Commit: 5d502aeddf2a5d93c3fd93103054261acf4d92f3
https://github.com/llvm/llvm-project/commit/5d502aeddf2a5d93c3fd93103054261acf4d92f3
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/atomic-update-only.f90
M flang/test/Semantics/OpenMP/atomic03.f90
M flang/test/Semantics/OpenMP/atomic04.f90
Log Message:
-----------
[flang][OpenMP] Clarify confusing error message (#144707)
The message "The atomic variable x should occur exactly once among the
arguments of the top-level [...] operator" was intended to convey that
(1) an atomic variable should be an argument, and (2) it should be
exactly one of the arguments. However, the wording turned out to be
sowing confusion instead.
Rework the corresponding check, and emit an individual error message for
each problematic situation:
- "atomic variable cannot be a proper subexpression of an argument",
- "atomic variable should appear as an argument",
- "atomic variable should be exactly one of the arguments".
Fixes https://github.com/llvm/llvm-project/issues/144599
Commit: b5aaf9d988ff2dc652c86271b181bf0497eb97cb
https://github.com/llvm/llvm-project/commit/b5aaf9d988ff2dc652c86271b181bf0497eb97cb
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/vp-reverse.ll
Log Message:
-----------
[InstCombine] Implement vp.reverse reordering/elimination through binop/unop (#143963)
This simply copies the structure of the vector.reverse patterns from
just above, and reimplements them for the vp.reverse intrinsics when the
mask is all ones and the EVLs exactly match.
Its unfortunate that we have three different ways to represent a reverse
(shuffle, vector.reverse, and vp.reverse) but I don't see an obvious way
to remove any them because the semantics are slightly different.
This significantly improves vectorization in TSVC_2's s112 and s1112
loops when using EVL tail folding.
Commit: 0fa373c77ded203eddb973c79244c75ee5957eaf
https://github.com/llvm/llvm-project/commit/0fa373c77ded203eddb973c79244c75ee5957eaf
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
A llvm/test/Transforms/LowerMatrixIntrinsics/phi.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/propagate-backwards-unsupported.ll
Log Message:
-----------
[Matrix] Propagate shape information through PHI insts (#141681)
... and split them as we lower them, avoiding several shuffles in the
process.
Commit: a2cee05449636c8e0d630b2ccdc71f2d422227a9
https://github.com/llvm/llvm-project/commit/a2cee05449636c8e0d630b2ccdc71f2d422227a9
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M compiler-rt/lib/scudo/standalone/chunk.h
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/report.cpp
M compiler-rt/lib/scudo/standalone/report.h
Log Message:
-----------
[scudo] Make report pointers const. (#144624)
Mark as many of the reportXX functions that take pointers const. This
avoid the need to use const_cast when calling these functions on an
already const pointer.
Fix reportHeaderCorruption calls where an argument was passed into an
append call that didn't use them.
Commit: 13510c07364dc3ac30f34e73c98ac8dc75e7efc7
https://github.com/llvm/llvm-project/commit/13510c07364dc3ac30f34e73c98ac8dc75e7efc7
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/include/list
M libcxx/include/version
M libcxx/test/std/containers/sequences/list/compare.pass.cpp
M libcxx/test/std/containers/sequences/list/compare.three_way.pass.cpp
M libcxx/test/std/containers/sequences/list/get_allocator.pass.cpp
M libcxx/test/std/containers/sequences/list/incomplete_type.pass.cpp
M libcxx/test/std/containers/sequences/list/iterators.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/empty.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/max_size.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/resize_size.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/resize_size_value.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/size.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/assign_copy.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/assign_move.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/copy.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/default.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/default_stack_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/from_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/initializer_list_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/input_iterator.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/move.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/op_equal_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/size_type.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/size_value_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.erasure/erase.pass.cpp
M libcxx/test/std/containers/sequences/list/list.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/append_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/clear.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/emplace_back.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/emplace_front.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/erase_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_size_value.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_value.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/pop_back.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/pop_front.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/prepend_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_back.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_back_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_front.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_front_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/merge.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/merge_comp.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/remove.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/remove_if.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/reverse.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/sort.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/sort_comp.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/unique.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/unique_pred.pass.cpp
M libcxx/test/std/containers/sequences/list/list.special/swap.pass.cpp
M libcxx/test/std/containers/sequences/list/list.special/swap_noexcept.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/support/min_allocator.h
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Make list constexpr as part of P3372R3 (#129799)
This patch makes `std::list` constexpr as part of P3372R3.
Fixes #128659.
Commit: 6d785ca4218b18e77e39320bea7f8973c3ea2764
https://github.com/llvm/llvm-project/commit/6d785ca4218b18e77e39320bea7f8973c3ea2764
Author: Ying Yi <ying.yi at sony.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/test/PCH/ignored-pch.c
Log Message:
-----------
[Clang] Fix the clang/test/PCH/ignored-pch.c test. (#144737)
Change the test to check the exit status of the 'ls' command line
(instead of error message) since the error message is different when
running 'ls' command on the different Host machine.
Commit: 2a41350aabd8b7d3e406141a55ce0bb6f5e70a76
https://github.com/llvm/llvm-project/commit/2a41350aabd8b7d3e406141a55ce0bb6f5e70a76
Author: Karlo Basioli <k.basioli at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
Fix bazel build issue caused by #142986 second attempt (#144721 didnt… (#144743)
… cover everything)
Commit: dd40c460c42d075c47f0d1a6d83f129655eafe10
https://github.com/llvm/llvm-project/commit/dd40c460c42d075c47f0d1a6d83f129655eafe10
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M libcxx/include/forward_list
Log Message:
-----------
[libc++] Clean up casts in std::forward_list (#130310)
The patch removes unnecessary casts to `void*` pointers, inline some
casts, and eliminates an identity cast.
Commit: 9827440f1e723423baf4c235e844eb8ac48a8f97
https://github.com/llvm/llvm-project/commit/9827440f1e723423baf4c235e844eb8ac48a8f97
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__algorithm/for_each.h
M libcxx/include/__algorithm/for_each_n.h
M libcxx/include/__algorithm/ranges_for_each.h
M libcxx/include/__algorithm/ranges_for_each_n.h
M libcxx/include/experimental/iterator
M libcxx/include/mutex
M libcxx/include/shared_mutex
M libcxx/test/benchmarks/algorithms/nonmodifying/for_each.bench.cpp
M libcxx/test/benchmarks/algorithms/nonmodifying/for_each_n.bench.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each_n.pass.cpp
Log Message:
-----------
[libc++] Optimize ranges::{for_each, for_each_n} for segmented iterators (#132896)
Previously, the segmented iterator optimization was limited to `std::{for_each, for_each_n}`. This patch
extends the optimization to `std::ranges::for_each` and `std::ranges::for_each_n`, ensuring consistent
optimizations across these algorithms. This patch first generalizes the `std` algorithms by introducing
a `Projection` parameter, which is set to `__identity` for the `std` algorithms. Then we let the `ranges`
algorithms to directly call their `std` counterparts with a general `__proj` argument. Benchmarks
demonstrate performance improvements of up to 21.4x for ``std::deque::iterator`` and 22.3x for
``join_view`` of ``vector<vector<char>>``.
Addresses a subtask of #102817.
Commit: 00189211486d052b25429f11790ef5486cf9d3ce
https://github.com/llvm/llvm-project/commit/00189211486d052b25429f11790ef5486cf9d3ce
Author: woruyu <99597449+woruyu at users.noreply.github.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/X86/fold-masked-merge-demorgan.ll
Log Message:
-----------
[DAG] add (~a | x) & (a | y) -> (a & (x ^ y)) ^y for foldMaskedMerge (#144342)
### Summary
This PR resolves https://github.com/llvm/llvm-project/issues/143864
Add (~a | x) & (a | y) -> (a & (x ^ y)) ^y for foldMaskedMerge func
using SDPatternMatch
aftering adding this pattern, run ```ninja check-llvm-codegen```, all
other cases remain unchanged, so I add a
testcase(fold-masked-merge-demorgan.ll) for it
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: fe3933da15b5bc635bce156f1f8d11a784316a07
https://github.com/llvm/llvm-project/commit/fe3933da15b5bc635bce156f1f8d11a784316a07
Author: Yang Bai <baiyang0132 at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Affine/constant-fold.mlir
M mlir/test/Dialect/Linalg/mesh-spmdization.mlir
M mlir/test/Dialect/Mesh/spmdization.mlir
M mlir/test/Dialect/Tensor/mesh-spmdization.mlir
M mlir/test/Dialect/Tosa/constant_folding.mlir
M mlir/test/Dialect/Vector/constant-fold.mlir
A mlir/test/Dialect/Vector/single-fold.mlir
M mlir/test/Transforms/constant-fold-debuginfo.mlir
M mlir/test/Transforms/constant-fold.mlir
M mlir/test/lib/Transforms/CMakeLists.txt
R mlir/test/lib/Transforms/TestConstantFold.cpp
A mlir/test/lib/Transforms/TestSingleFold.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir][vector] Support complete folding in single pass for vector.insert/vector.extract (#142124)
### Description
This patch improves the folding efficiency of `vector.insert` and
`vector.extract` operations by not returning early after successfully
converting dynamic indices to static indices.
This PR also renames the test pass `TestConstantFold` to
`TestSingleFold` and adds comprehensive documentation explaining the
single-pass folding behavior.
### Motivation
Since the `OpBuilder::createOrFold` function only calls `fold` **once**,
the current `fold` methods of `vector.insert` and `vector.extract` may
leave the op in a state that can be folded further. For example,
consider the following un-folded IR:
```
%v1 = vector.insert %e1, %v0 [0] : f32 into vector<128xf32>
%c0 = arith.constant 0 : index
%e2 = vector.extract %v1[%c0] : f32 from vector<128xf32>
```
If we use `createOrFold` to create the `vector.extract` op, then the
result will be:
```
%v1 = vector.insert %e1, %v0 [127] : f32 into vector<128xf32>
%e2 = vector.extract %v1[0] : f32 from vector<128xf32>
```
But this is not the optimal result. `createOrFold` should have returned
`%e1`.
The reason is that the execution of fold returns immediately after
`extractInsertFoldConstantOp`, causing subsequent folding logics to be
skipped.
---------
Co-authored-by: Yang Bai <yangb at nvidia.com>
Commit: 4084ffcf1e69b962e864aa138bb54dabbcec912f
https://github.com/llvm/llvm-project/commit/4084ffcf1e69b962e864aa138bb54dabbcec912f
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M flang/include/flang/Semantics/dump-expr.h
M flang/lib/Semantics/dump-expr.cpp
Log Message:
-----------
[flang] Show types in DumpEvExpr (#143743)
When dumping evaluate::Expr, show type names which contain a lot of
useful information.
For example show
```
expr <Fortran::evaluate::SomeType> {
expr <Fortran::evaluate::SomeKind<Fortran::common::TypeCategory::Integer>> {
expr <Fortran::evaluate::Type<Fortran::common::TypeCategory::Integer, 4>> {
...
```
instead of
```
expr T {
expr T {
expr T {
...
```
Commit: 2a8c65e983b3f4e1c83d8028d354f7bacc149015
https://github.com/llvm/llvm-project/commit/2a8c65e983b3f4e1c83d8028d354f7bacc149015
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/MachineFunction.cpp
Log Message:
-----------
[CodeGen][NFC] Fix quadratic c-t for large jump tables
Deleting a basic block removes all references from jump tables, which
is O(n). When freeing a MachineFunction, all basic blocks are deleted
before the jump tables, causing O(n^2) runtime. Fix this by deallocating
the jump table first.
Test case generator:
import sys
n = int(sys.argv[1])
print("define void @f(i64 %c, ptr %p) {")
print(" switch i64 %c, label %d [")
for i in range(n):
print(f" i64 {i}, label %h{i}")
print(f" ]")
for i in range(n):
print(f'h{i}:')
print(f' store i64 {i*i}, ptr %p')
print(f' ret void')
print('d:')
print(' ret void')
print('}')
Improvement at 5000 entries:
Benchmark 1: ./llc.pre -filetype=obj -O0 <switch5k.bc
Time (mean ± σ): 49.7 ms ± 1.0 ms
Range (min … max): 48.0 ms … 52.1 ms 57 runs
Benchmark 2: ./llc.post -filetype=obj -O0 <switch5k.bc
Time (mean ± σ): 39.4 ms ± 0.8 ms
Range (min … max): 37.1 ms … 41.1 ms 72 runs
Summary
./llc.post -filetype=obj -O0 <switch5k.bc ran
1.26 ± 0.04 times faster than ./llc.pre -filetype=obj -O0 <switch5k.bc
Improvement at 20000 entries:
Benchmark 1: ./llc.pre -filetype=obj -O0 <switch20k.bc
Time (mean ± σ): 281.7 ms ± 1.0 ms
Range (min … max): 280.2 ms … 283.0 ms 10 runs
Benchmark 2: ./llc.post -filetype=obj -O0 <switch20k.bc
Time (mean ± σ): 123.9 ms ± 1.5 ms
Range (min … max): 121.4 ms … 129.2 ms 23 runs
Summary
./llc.post -filetype=obj -O0 <switch20k.bc ran
2.27 ± 0.03 times faster than ./llc.pre -filetype=obj -O0 <switch20k.bc
Pull Request: https://github.com/llvm/llvm-project/pull/144108
Commit: 77bc25485135b8a8cb2427910a8850fbc4e4be09
https://github.com/llvm/llvm-project/commit/77bc25485135b8a8cb2427910a8850fbc4e4be09
Author: John Brawn <john.brawn at arm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Fix build failure with -Werror (#144749)
PR#144387 caused buildbot failures with -Werror due to a comparison
between signed and unsigned types. Fix this with an explicit cast.
Commit: 298f1c276f4f9c18b25a79ffe6e619e89c5fbf7e
https://github.com/llvm/llvm-project/commit/298f1c276f4f9c18b25a79ffe6e619e89c5fbf7e
Author: Artem Belevich <tra at google.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/lib/Headers/__clang_cuda_intrinsics.h
Log Message:
-----------
Revert "Add missing intrinsics to cuda headers" (#144755)
Reverts llvm/llvm-project#143664
as it breaks CUDA compilation.
Commit: d9f7979a63ceac88727632ecfd522c073288b6c1
https://github.com/llvm/llvm-project/commit/d9f7979a63ceac88727632ecfd522c073288b6c1
Author: Justin King <jcking at google.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
A compiler-rt/test/sanitizer_common/TestCases/Linux/free_aligned_sized.c
A compiler-rt/test/sanitizer_common/TestCases/Linux/free_sized.c
Log Message:
-----------
sanitizer_common: add unsupported test for free_sized and free_aligned_sized from C23 (#144727)
Signed-off-by: Justin King <jcking at google.com>
Commit: b202fb0e98b3d5940b16e6a34d5f684cdfbd98e0
https://github.com/llvm/llvm-project/commit/b202fb0e98b3d5940b16e6a34d5f684cdfbd98e0
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M .github/new-prs-labeler.yml
M .github/workflows/libcxx-restart-preempted-jobs.yaml
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Passes/RetpolineInsertion.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Utils/CMakeLists.txt
M bolt/test/X86/callcont-fallthru.s
M bolt/test/lit.local.cfg
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
M clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
M clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
A clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.cpp
A clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.h
M clang-tools-extra/clang-tidy/hicpp/ExceptionBaseclassCheck.cpp
M clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.h
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
A clang-tools-extra/clangd/test/positionencoding.test
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/use-enum-class.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/enum-size.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/unnecessary-value-param.rst
M clang-tools-extra/modularize/CoverageChecker.cpp
M clang-tools-extra/modularize/Modularize.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
A clang-tools-extra/test/clang-reorder-fields/MacroExpansionField.cpp
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/use-enum-class.cpp
A clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-coroutine.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang/CMakeLists.txt
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/AttributeCommonInfo.h
A clang/include/clang/Basic/AttributeScopeInfo.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/ProfileList.h
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Basic/riscv_vector_common.td
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/CIRTypes.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/Scope.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaObjC.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/InterpBlock.cpp
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpStack.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Attributes.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/ProfileList.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AVR.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
A clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Edit/EditedSource.cpp
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/bmiintrin.h
A clang/lib/Headers/cuda_wrappers/bits/c++config.h
M clang/lib/Headers/immintrin.h
M clang/lib/Headers/keylockerintrin.h
M clang/lib/Headers/x86gprintrin.h
M clang/lib/Headers/x86intrin.h
M clang/lib/Index/IndexBody.cpp
M clang/lib/InstallAPI/DiagnosticBuilderWrappers.cpp
M clang/lib/InstallAPI/DirectoryScanner.cpp
M clang/lib/InstallAPI/FileList.cpp
M clang/lib/InstallAPI/Frontend.cpp
M clang/lib/InstallAPI/Visitor.cpp
M clang/lib/Interpreter/InterpreterValuePrinter.cpp
M clang/lib/Interpreter/Value.cpp
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/lib/Lex/HeaderMap.cpp
M clang/lib/Parse/CMakeLists.txt
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Rewrite/HTMLRewrite.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/lib/Tooling/ArgumentsAdjusters.cpp
M clang/test/AST/ByteCode/cxx17.cpp
M clang/test/AST/ByteCode/new-delete.cpp
A clang/test/AST/HLSL/vk.spec-constant.usage.hlsl
M clang/test/Analysis/NewDelete-checker-test.cpp
M clang/test/Analysis/analyzer-enabled-checkers.c
M clang/test/Analysis/bugfix-124477.m
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
M clang/test/Analysis/taint-generic.c
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/basic.c
M clang/test/CIR/CodeGen/builtin_call.cpp
A clang/test/CIR/CodeGen/builtin_printf.cpp
M clang/test/CIR/CodeGen/cast.cpp
M clang/test/CIR/CodeGen/complex.cpp
M clang/test/CIR/CodeGen/forrange.cpp
A clang/test/CIR/CodeGen/libc.c
A clang/test/CIR/CodeGen/static-vars.c
A clang/test/CIR/CodeGen/static-vars.cpp
M clang/test/CIR/CodeGen/string-literals.c
A clang/test/CIR/CodeGen/string-literals.cpp
A clang/test/CIR/IR/invalid-vector-shuffle-wrong-index.cir
A clang/test/CIR/Transforms/complex-create-fold.cir
A clang/test/CIR/Transforms/vector-cmp-fold.cir
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/module/dcl.dcl/dcl.module/dcl.module.import/p1.cppm
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vrgatherei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vslidedown.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vslideup.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vrgatherei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vslidedown.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vslideup.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vrgatherei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vslidedown.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vslideup.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vrgatherei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vslidedown.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vslideup.c
M clang/test/CodeGen/X86/avx-cxx-record.cpp
A clang/test/CodeGen/aarch64-always-inline-feature-bug.c
A clang/test/CodeGen/debug-info-version-coff.c
M clang/test/CodeGen/debug-info-version.c
M clang/test/CodeGen/epilog-unwind.c
A clang/test/CodeGenCXX/debug-info-coff.cpp
M clang/test/CodeGenCXX/debug-info-hotpatch-aarch64.cpp
M clang/test/CodeGenCXX/debug-info-hotpatch-arm.cpp
M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
M clang/test/CodeGenHLSL/ArrayTemporary.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/ArrayOutputArguments.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/OutputArguments.hlsl
M clang/test/CodeGenHLSL/Bool.hlsl
M clang/test/CodeGenHLSL/BoolVector.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/basic_types.hlsl
M clang/test/CodeGenHLSL/builtins/AddUint64.hlsl
M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/GroupMemoryBarrierWithGroupSync.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/abs.hlsl
M clang/test/CodeGenHLSL/builtins/all.hlsl
M clang/test/CodeGenHLSL/builtins/and.hlsl
M clang/test/CodeGenHLSL/builtins/any.hlsl
M clang/test/CodeGenHLSL/builtins/ceil-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/ceil.hlsl
M clang/test/CodeGenHLSL/builtins/clamp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/clamp.hlsl
M clang/test/CodeGenHLSL/builtins/clip-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/clip.hlsl
M clang/test/CodeGenHLSL/builtins/cos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cos.hlsl
M clang/test/CodeGenHLSL/builtins/cross.hlsl
M clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/degrees.hlsl
M clang/test/CodeGenHLSL/builtins/distance.hlsl
M clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp.hlsl
M clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp2.hlsl
M clang/test/CodeGenHLSL/builtins/firstbithigh.hlsl
M clang/test/CodeGenHLSL/builtins/firstbitlow.hlsl
M clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
M clang/test/CodeGenHLSL/builtins/fmod.hlsl
M clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/frac.hlsl
M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
M clang/test/CodeGenHLSL/builtins/isinf-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/isinf.hlsl
M clang/test/CodeGenHLSL/builtins/ldexp.hlsl
M clang/test/CodeGenHLSL/builtins/length.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log.hlsl
M clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log10.hlsl
M clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log2.hlsl
M clang/test/CodeGenHLSL/builtins/max-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/max.hlsl
M clang/test/CodeGenHLSL/builtins/min-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/min.hlsl
M clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/normalize.hlsl
M clang/test/CodeGenHLSL/builtins/or.hlsl
M clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
M clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/radians.hlsl
M clang/test/CodeGenHLSL/builtins/rcp.hlsl
M clang/test/CodeGenHLSL/builtins/reflect.hlsl
M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
M clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/round.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
M clang/test/CodeGenHLSL/builtins/sign.hlsl
M clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sin.hlsl
M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
M clang/test/CodeGenHLSL/builtins/splitdouble.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
M clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/step.hlsl
M clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/trunc.hlsl
M clang/test/CodeGenHLSL/builtins/wave_get_lane_index_do_while.hlsl
M clang/test/CodeGenHLSL/builtins/wave_get_lane_index_simple.hlsl
M clang/test/CodeGenHLSL/builtins/wave_get_lane_index_subcall.hlsl
M clang/test/CodeGenHLSL/cbuffer.hlsl
M clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
M clang/test/CodeGenHLSL/convergence/do.while.hlsl
M clang/test/CodeGenHLSL/convergence/for.hlsl
M clang/test/CodeGenHLSL/convergence/while.hlsl
M clang/test/CodeGenHLSL/default_cbuffer.hlsl
M clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
M clang/test/CodeGenHLSL/export.hlsl
M clang/test/CodeGenHLSL/group_shared.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
M clang/test/CodeGenHLSL/inline-functions.hlsl
R clang/test/CodeGenHLSL/inline-spirv/SpirvType.alignment.hlsl
R clang/test/CodeGenHLSL/inline-spirv/SpirvType.hlsl
M clang/test/CodeGenHLSL/no_int_promotion.hlsl
M clang/test/CodeGenHLSL/out-of-line-static.hlsl
M clang/test/CodeGenHLSL/semantics/SV_Position.ps.hlsl
M clang/test/CodeGenHLSL/shift-mask.hlsl
M clang/test/CodeGenHLSL/this-assignment-overload.hlsl
A clang/test/CodeGenHLSL/vk-features/SpirvType.alignment.hlsl
A clang/test/CodeGenHLSL/vk-features/SpirvType.hlsl
A clang/test/CodeGenHLSL/vk-features/vk.spec-constant.hlsl
M clang/test/CodeGenHLSL/vk-input-builtin.hlsl
M clang/test/Driver/android-link.cpp
M clang/test/Driver/cl-options.c
M clang/test/Driver/fveclib.c
A clang/test/Driver/ignored-pch.cpp
M clang/test/Driver/print-supported-extensions-riscv.c
A clang/test/FixIt/fixit-punctuator-spelling.cpp
A clang/test/FixIt/fixit-unknown-attributes.cpp
M clang/test/Frontend/ast-main.c
M clang/test/Frontend/ast-main.cpp
M clang/test/Misc/target-invalid-cpu-note/avr.c
A clang/test/Modules/preferred_name_header_unit.cpp
M clang/test/OpenMP/declare_mapper_ast_print.c
M clang/test/OpenMP/declare_mapper_ast_print.cpp
M clang/test/Options/enable_16bit_types_validation_spirv.hlsl
A clang/test/PCH/Inputs/ignored-pch.h
A clang/test/PCH/ignored-pch.c
A clang/test/Parser/cxx-invalid-using-decl-in-constexpr-crash.cpp
M clang/test/Parser/cxx11-base-spec-attributes.cpp
M clang/test/Parser/objcxx11-attributes.mm
M clang/test/Preprocessor/riscv-target-features-andes.c
A clang/test/Sema/gh87867.c
M clang/test/Sema/unknown-attributes.c
M clang/test/SemaCXX/attr-non-x86-no_caller_saved_registers.cpp
M clang/test/SemaCXX/builtin-is-constant-evaluated.cpp
M clang/test/SemaCXX/class.cpp
M clang/test/SemaCXX/cxx0x-class.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
M clang/test/SemaCXX/cxx2c-trivially-relocatable.cpp
M clang/test/SemaCXX/gh102293.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
M clang/test/SemaCXX/ptrauth-triviality.cpp
A clang/test/SemaCXX/trivially-relocatable-ptrauth.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags-std.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
A clang/test/SemaHLSL/vk.spec-constant.error.hlsl
M clang/test/SemaObjCXX/arc-type-conversion.mm
M clang/test/SemaTemplate/instantiate-static-var.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
M clang/unittests/Parse/CMakeLists.txt
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/fuzzer/tests/CMakeLists.txt
M compiler-rt/lib/msan/msan_interceptors.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
M compiler-rt/lib/scudo/standalone/chunk.h
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/report.cpp
M compiler-rt/lib/scudo/standalone/report.h
M compiler-rt/test/msan/ifaddrs.cpp
M compiler-rt/test/msan/qsort.cpp
M compiler-rt/test/rtsan/fork_exec.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/free_aligned_sized.c
A compiler-rt/test/sanitizer_common/TestCases/Linux/free_sized.c
M flang-rt/include/flang-rt/runtime/environment.h
M flang-rt/include/flang-rt/runtime/stat.h
M flang-rt/include/flang-rt/runtime/type-info.h
A flang-rt/include/flang-rt/runtime/work-queue.h
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/descriptor-io.h
M flang-rt/lib/runtime/environment.cpp
M flang-rt/lib/runtime/namelist.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/type-info.cpp
A flang-rt/lib/runtime/work-queue.cpp
M flang-rt/unittests/Runtime/ExternalIOTest.cpp
M flang/docs/Extensions.md
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/assign.h
M flang/include/flang/Semantics/dump-expr.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Support/OpenMP-features.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Semantics/check-allocate.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/dump-expr.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/rewrite-directives.cpp
M flang/lib/Semantics/runtime-type-info.cpp
M flang/lib/Semantics/tools.cpp
M flang/module/__fortran_type_info.f90
M flang/test/CMakeLists.txt
M flang/test/Driver/flang-f-opts.f90
M flang/test/Driver/flang-openmp-version-macro.f90
A flang/test/Fir/cfg-conversion-if.fir
M flang/test/Fir/fir-ops.fir
M flang/test/Fir/invalid.fir
A flang/test/HLFIR/fir-local-alloca-block.fir
A flang/test/Lower/OpenMP/Todo/declare-mapper-iterator.f90
A flang/test/Lower/OpenMP/Todo/omp-clause-indirect.f90
R flang/test/Lower/OpenMP/Todo/omp-doconcurrent.f90
R flang/test/Lower/OpenMP/Todo/target-parallel-private.f90
R flang/test/Lower/OpenMP/Todo/target-teams-private.f90
A flang/test/Lower/OpenMP/copyprivate5.f90
M flang/test/Lower/OpenMP/implicit-dsa.f90
A flang/test/Lower/OpenMP/requires-atomic-default-mem-order.f90
A flang/test/Lower/OpenMP/target-parallel-private.f90
A flang/test/Lower/OpenMP/target-teams-private.f90
A flang/test/Lower/OpenMP/taskgroup02.f90
M flang/test/Lower/volatile-openmp.f90
A flang/test/Parser/OpenMP/declare-target-indirect-tree.f90
M flang/test/Preprocessing/bug518.F
A flang/test/Profile/Inputs/gcc-flag-compatibility_IR.proftext
A flang/test/Profile/Inputs/gcc-flag-compatibility_IR_entry.proftext
A flang/test/Profile/gcc-flag-compatibility.f90
M flang/test/Semantics/OpenMP/allocate-align01.f90
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/allocate02.f90
M flang/test/Semantics/OpenMP/allocate03.f90
M flang/test/Semantics/OpenMP/allocate05.f90
M flang/test/Semantics/OpenMP/allocate06.f90
M flang/test/Semantics/OpenMP/allocate09.f90
M flang/test/Semantics/OpenMP/atomic-update-only.f90
M flang/test/Semantics/OpenMP/atomic03.f90
M flang/test/Semantics/OpenMP/atomic04.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/deprecation.f90
A flang/test/Semantics/OpenMP/do-concurrent-collapse.f90
M flang/test/Semantics/OpenMP/flush02.f90
M flang/test/Semantics/OpenMP/implicit-dsa.f90
M flang/test/Semantics/OpenMP/nested-barrier.f90
M flang/test/Semantics/OpenMP/nested-master.f90
M flang/test/Semantics/OpenMP/nested-teams.f90
M flang/test/Semantics/OpenMP/ordered-simd.f90
M flang/test/Semantics/OpenMP/parallel-master-goto.f90
M flang/test/Semantics/OpenMP/parallel-sections01.f90
M flang/test/Semantics/OpenMP/requires-atomic02.f90
A flang/test/Semantics/OpenMP/sections-goto.f90
M flang/test/Semantics/OpenMP/sections02.f90
M flang/test/Semantics/allocate11.f90
A flang/test/Semantics/indirect01.f90
A flang/test/Semantics/indirect02.f90
M flang/test/Semantics/modfile71.F90
M flang/test/Semantics/modfile75.F90
M flang/test/Semantics/modfile76.F90
M flang/test/Semantics/modfile77.F90
M flang/test/Semantics/modfile78.F90
A flang/test/Semantics/modfile79.F90
M flang/test/Semantics/typeinfo01.f90
M flang/test/Semantics/typeinfo03.f90
M flang/test/Semantics/typeinfo04.f90
M flang/test/Semantics/typeinfo05.f90
M flang/test/Semantics/typeinfo06.f90
M flang/test/Semantics/typeinfo07.f90
M flang/test/Semantics/typeinfo08.f90
M flang/test/Semantics/typeinfo11.f90
A flang/test/Semantics/typeinfo12.f90
M flang/test/Semantics/typeinfo13.f90
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/config/linux/x86_64/entrypoints.txt
M libc/fuzzing/stdio/CMakeLists.txt
M libc/hdr/types/char8_t.h
M libc/include/math.yaml
M libc/include/wchar.yaml
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/HashTable/CMakeLists.txt
M libc/src/__support/HashTable/table.h
M libc/src/__support/OSUtil/fcntl.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/fcntl.cpp
M libc/src/__support/wchar/CMakeLists.txt
M libc/src/__support/wchar/character_converter.cpp
M libc/src/__support/wchar/character_converter.h
M libc/src/__support/wchar/mbstate.h
R libc/src/__support/wchar/utf_ret.h
M libc/src/fcntl/linux/CMakeLists.txt
M libc/src/fcntl/linux/fcntl.cpp
M libc/src/fcntl/linux/open.cpp
M libc/src/stdio/baremetal/printf.cpp
M libc/src/stdio/baremetal/putchar.cpp
M libc/src/stdio/baremetal/puts.cpp
M libc/src/stdio/baremetal/vprintf.cpp
M libc/src/string/string_utils.h
M libc/src/sys/auxv/linux/getauxval.cpp
M libc/src/sys/mman/linux/shm_common.h
M libc/src/sys/mman/linux/shm_open.cpp
M libc/src/sys/mman/linux/shm_unlink.cpp
M libc/src/unistd/linux/close.cpp
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wmemmove.cpp
A libc/src/wchar/wmemmove.h
M libc/test/UnitTest/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/HashTable/table_test.cpp
A libc/test/src/__support/wchar/CMakeLists.txt
A libc/test/src/__support/wchar/utf32_to_8_test.cpp
A libc/test/src/__support/wchar/utf8_to_32_test.cpp
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/fdopen_test.cpp
M libc/test/src/stdio/fgetc_test.cpp
M libc/test/src/stdio/fgetc_unlocked_test.cpp
M libc/test/src/stdio/fgets_test.cpp
M libc/test/src/stdio/fileop_test.cpp
M libc/test/src/stdio/fopencookie_test.cpp
M libc/test/src/stdio/printf_core/converter_test.cpp
M libc/test/src/stdio/remove_test.cpp
M libc/test/src/stdio/rename_test.cpp
M libc/test/src/stdio/setvbuf_test.cpp
M libc/test/src/stdio/unlocked_fileop_test.cpp
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/stdlib/strtold_test.cpp
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wmemmove_test.cpp
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__algorithm/for_each.h
M libcxx/include/__algorithm/for_each_n.h
M libcxx/include/__algorithm/ranges_for_each.h
M libcxx/include/__algorithm/ranges_for_each_n.h
M libcxx/include/__config
M libcxx/include/__functional/reference_wrapper.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__utility/pair.h
M libcxx/include/experimental/iterator
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/list
M libcxx/include/mutex
M libcxx/include/shared_mutex
M libcxx/include/streambuf
M libcxx/include/version
M libcxx/test/benchmarks/algorithms/nonmodifying/for_each.bench.cpp
M libcxx/test/benchmarks/algorithms/nonmodifying/for_each_n.bench.cpp
M libcxx/test/libcxx/odr_signature.exceptions.sh.cpp
M libcxx/test/libcxx/odr_signature.hardening.sh.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each_n.pass.cpp
M libcxx/test/std/containers/sequences/array/compare.three_way.pass.cpp
M libcxx/test/std/containers/sequences/list/compare.pass.cpp
M libcxx/test/std/containers/sequences/list/compare.three_way.pass.cpp
M libcxx/test/std/containers/sequences/list/get_allocator.pass.cpp
M libcxx/test/std/containers/sequences/list/incomplete_type.pass.cpp
M libcxx/test/std/containers/sequences/list/iterators.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/empty.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/max_size.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/resize_size.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/resize_size_value.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/size.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/assign_copy.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/assign_move.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/copy.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/default.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/default_stack_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/from_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/initializer_list_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/input_iterator.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/move.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/op_equal_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/size_type.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/size_value_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.erasure/erase.pass.cpp
M libcxx/test/std/containers/sequences/list/list.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/append_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/clear.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/emplace_back.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/emplace_front.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/erase_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_size_value.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_value.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/pop_back.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/pop_front.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/prepend_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_back.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_back_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_front.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_front_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/merge.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/merge_comp.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/remove.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/remove_if.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/reverse.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/sort.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/sort_comp.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/unique.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/unique_pred.pass.cpp
M libcxx/test/std/containers/sequences/list/list.special/swap.pass.cpp
M libcxx/test/std/containers/sequences/list/list.special/swap_noexcept.pass.cpp
M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.get.area/setg.assert.pass.cpp
M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/setp.assert.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.const_ref.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap_const.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.const_ref.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap_const.pass.cpp
R libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/helper_concepts.h
R libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/helper_types.h
M libcxx/test/support/min_allocator.h
M libcxx/test/support/test_comparisons.h
M libcxx/test/support/test_container_comparisons.h
M libcxx/utils/generate_feature_test_macro_components.py
M lld/COFF/Writer.cpp
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/SyntheticSections.cpp
M lld/MachO/DriverUtils.cpp
M lld/MachO/SyntheticSections.cpp
M lld/MinGW/Driver.cpp
M lld/MinGW/Options.td
M lld/test/COFF/pdata-arm64ec.test
M lld/test/ELF/lto/aarch64-pac-got-func.ll
M lld/test/ELF/riscv-feature-zicfilp-func-sig.s
M lld/test/ELF/riscv-feature-zicfilp-unlabeled.s
M lld/test/ELF/riscv-feature-zicfiss.s
A lld/test/MachO/reexport-with-symlink.s
M lld/test/MinGW/lib.test
M lld/test/Unit/lit.cfg.py
R lld/test/wasm/lto/Inputs/libcall-return-addr.ll
R lld/test/wasm/lto/libcall-return-addr.ll
M lld/wasm/Driver.cpp
M lldb/cmake/modules/FindPythonAndSwig.cmake
M lldb/include/lldb/Core/PluginManager.h
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/source/Core/DynamicLoader.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.h
M lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp
M lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
M lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
M lldb/source/Plugins/Process/minidump/MinidumpParser.h
M lldb/test/API/api/multiple-debuggers/multi-process-driver.cpp
A lldb/test/API/commands/plugin/TestPlugin.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/TestDataFormatterLibcxxStringView.py
M lldb/test/API/lit.cfg.py
M lldb/test/API/lit.site.cfg.py.in
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setExceptionBreakpoints.py
M lldb/test/API/tools/lldb-dap/exception/objc/Makefile
M lldb/test/API/tools/lldb-dap/exception/objc/TestDAP_exception_objc.py
M lldb/test/API/tools/lldb-dap/exception/objc/main.m
M lldb/test/API/tools/lldb-dap/save-core/TestDAP_save_core.py
M lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
M lldb/test/Shell/Commands/command-plugin-list.test
A lldb/test/Shell/ObjectFile/XCOFF/symbol-info.yaml
A lldb/test/Shell/ObjectFile/XCOFF/symbol-info32.yaml
M lldb/test/Shell/SymbolFile/DWARF/x86/explicit-member-function-quals.cpp
M lldb/test/Shell/lit.cfg.py
M lldb/test/lit.cfg.py
M lldb/tools/debugserver/source/RNBRemote.cpp
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/ExceptionBreakpoint.cpp
M lldb/tools/lldb-dap/ExceptionBreakpoint.h
M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/SetExceptionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/tools/lldb-dap/ProtocolUtils.cpp
M lldb/tools/lldb-dap/ProtocolUtils.h
M lldb/tools/lldb-dap/package.json
M lldb/unittests/DAP/ProtocolTypesTest.cpp
M llvm/cmake/config-ix.cmake
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/FindFFI.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CommandGuide/llvm-cov.rst
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
M llvm/docs/CommandGuide/llvm-opt-report.rst
M llvm/docs/InstCombineContributorGuide.md
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/Remarks.rst
M llvm/include/llvm-c/ExecutionEngine.h
M llvm/include/llvm/ADT/GenericUniformityImpl.h
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/include/llvm/Analysis/IRSimilarityIdentifier.h
M llvm/include/llvm/Analysis/PtrUseVisitor.h
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV_nonstandard.def
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/Config/config.h.cmake
M llvm/include/llvm/Config/llvm-config.h.cmake
A llvm/include/llvm/DebugInfo/DWARF/DWARFCFIPrinter.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFCFIProgram.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLine.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLocation.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVObject.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVRange.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVScope.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSymbol.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVType.h
M llvm/include/llvm/Frontend/Driver/CodeGenOptions.h
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignatureUtils.h
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/DebugLoc.h
M llvm/include/llvm/IR/InstVisitor.h
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/IR/RuntimeLibcalls.def
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/Object/ELF.h
M llvm/include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h
M llvm/include/llvm/ObjectYAML/CodeViewYAMLSymbols.h
M llvm/include/llvm/ObjectYAML/CodeViewYAMLTypes.h
M llvm/include/llvm/ObjectYAML/DWARFEmitter.h
M llvm/include/llvm/ObjectYAML/DWARFYAML.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/include/llvm/ObjectYAML/YAML.h
M llvm/include/llvm/ObjectYAML/yaml2obj.h
M llvm/include/llvm/Option/OptSpecifier.h
M llvm/include/llvm/Pass.h
M llvm/include/llvm/PassAnalysisSupport.h
M llvm/include/llvm/PassRegistry.h
M llvm/include/llvm/PassSupport.h
M llvm/include/llvm/Passes/OptimizationLevel.h
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/include/llvm/Passes/PassPlugin.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/Remarks/RemarkFormat.h
M llvm/include/llvm/Remarks/RemarkParser.h
M llvm/include/llvm/Remarks/YAMLRemarkSerializer.h
M llvm/include/llvm/Support/CodeGen.h
M llvm/include/llvm/Support/Compiler.h
M llvm/include/llvm/Target/CGPassBuilderOption.h
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/include/llvm/TargetParser/SubtargetFeature.h
M llvm/include/llvm/Transforms/IPO.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/Scalar/GVN.h
M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/include/llvm/Transforms/Utils/PromoteMemToReg.h
M llvm/include/llvm/XRay/BlockIndexer.h
M llvm/include/llvm/XRay/BlockPrinter.h
M llvm/include/llvm/XRay/BlockVerifier.h
M llvm/include/llvm/XRay/FDRRecordConsumer.h
M llvm/include/llvm/XRay/FDRRecordProducer.h
M llvm/include/llvm/XRay/FDRRecords.h
M llvm/include/llvm/XRay/FDRTraceWriter.h
M llvm/include/llvm/XRay/FileHeaderReader.h
M llvm/include/llvm/XRay/InstrumentationMap.h
M llvm/include/llvm/XRay/Profile.h
M llvm/include/llvm/XRay/RecordPrinter.h
M llvm/include/llvm/XRay/Trace.h
M llvm/lib/Analysis/AliasSetTracker.cpp
M llvm/lib/Analysis/CallGraph.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/DemandedBits.cpp
M llvm/lib/Analysis/HashRecognize.cpp
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/MemoryBuiltins.cpp
M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
M llvm/lib/Analysis/MemoryLocation.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/BinaryFormat/Dwarf.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/DebugInfo/DWARF/CMakeLists.txt
A llvm/lib/DebugInfo/DWARF/DWARFCFIPrinter.cpp
M llvm/lib/DebugInfo/DWARF/DWARFCFIProgram.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVObject.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVOptions.cpp
M llvm/lib/Frontend/Driver/CMakeLists.txt
M llvm/lib/Frontend/Driver/CodeGenOptions.cpp
M llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/Attributes.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugLoc.cpp
M llvm/lib/IR/DiagnosticInfo.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/MC/MCAsmInfo.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCInst.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/ObjCopy/MachO/MachOLayoutBuilder.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.h
M llvm/lib/ObjCopy/MachO/MachOReader.cpp
M llvm/lib/Object/RelocationResolver.cpp
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/Remarks/BitstreamRemarkParser.cpp
M llvm/lib/Remarks/BitstreamRemarkParser.h
M llvm/lib/Remarks/RemarkFormat.cpp
M llvm/lib/Remarks/RemarkLinker.cpp
M llvm/lib/Remarks/RemarkParser.cpp
M llvm/lib/Remarks/RemarkSerializer.cpp
M llvm/lib/Remarks/RemarkStreamer.cpp
M llvm/lib/Remarks/YAMLRemarkParser.cpp
M llvm/lib/Remarks/YAMLRemarkParser.h
M llvm/lib/Remarks/YAMLRemarkSerializer.cpp
M llvm/lib/Support/Unix/Process.inc
M llvm/lib/TableGen/Record.cpp
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64Processors.td
A llvm/lib/Target/AArch64/AArch64SchedA320.td
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
M llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/R600InstPrinter.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/TargetInfo/AMDGPUTargetInfo.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/ARC/ARCTargetTransformInfo.h
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMMCInstLower.cpp
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/Target/ARM/ARMTargetObjectFile.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
R llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.cpp
R llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachORelocationInfo.cpp
M llvm/lib/Target/ARM/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp
M llvm/lib/Target/AVR/AVRAsmPrinter.cpp
M llvm/lib/Target/AVR/AVRDevices.td
M llvm/lib/Target/AVR/AVRMCInstLower.cpp
M llvm/lib/Target/AVR/AVRTargetMachine.cpp
M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
M llvm/lib/Target/AVR/Disassembler/AVRDisassembler.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp
M llvm/lib/Target/AVR/TargetInfo/AVRTargetInfo.cpp
M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
M llvm/lib/Target/BPF/BPFAsmPrinter.cpp
M llvm/lib/Target/BPF/BPFTargetMachine.cpp
M llvm/lib/Target/BPF/BPFTargetTransformInfo.h
M llvm/lib/Target/BPF/Disassembler/BPFDisassembler.cpp
M llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp
M llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp
M llvm/lib/Target/BPF/TargetInfo/BPFTargetInfo.cpp
M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.h
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp
M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
M llvm/lib/Target/Lanai/Disassembler/LanaiDisassembler.cpp
M llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp
M llvm/lib/Target/Lanai/LanaiMCInstLower.cpp
M llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
M llvm/lib/Target/Lanai/LanaiTargetTransformInfo.h
M llvm/lib/Target/Lanai/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.h
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCCodeEmitter.cpp
R llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.cpp
R llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.h
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp
M llvm/lib/Target/Lanai/TargetInfo/LanaiTargetInfo.cpp
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/Disassembler/LoongArchDisassembler.cpp
M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchInstPrinter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCAsmInfo.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCAsmInfo.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCTargetDesc.cpp
M llvm/lib/Target/LoongArch/TargetInfo/LoongArchTargetInfo.cpp
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/M68k/M68kMCInstLower.cpp
M llvm/lib/Target/M68k/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/M68k/MCTargetDesc/M68kELFObjectWriter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kInstPrinter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCAsmInfo.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCAsmInfo.h
R llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.cpp
R llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.h
M llvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp
M llvm/lib/Target/MSP430/Disassembler/MSP430Disassembler.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.cpp
M llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp
M llvm/lib/Target/MSP430/MSP430TargetMachine.cpp
M llvm/lib/Target/MSP430/TargetInfo/MSP430TargetInfo.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
M llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
R llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
R llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsMCInstLower.cpp
M llvm/lib/Target/Mips/MipsMCInstLower.h
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/lib/Target/Mips/MipsTargetObjectFile.cpp
M llvm/lib/Target/Mips/MipsTargetTransformInfo.h
M llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXMCExpr.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/NVPTX/TargetInfo/NVPTXTargetInfo.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.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/PPCBoolRetToInt.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/lib/Target/PowerPC/PPCTargetObjectFile.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
R llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
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/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCTargetDesc.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetTransformInfo.h
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/SPIRV/TargetInfo/SPIRVTargetInfo.cpp
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
R llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcTargetMachine.cpp
M llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp
M llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.h
R llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.cpp
R llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.cpp
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
M llvm/lib/Target/SystemZ/SystemZMCInstLower.cpp
M llvm/lib/Target/SystemZ/SystemZMCInstLower.h
M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
M llvm/lib/Target/SystemZ/SystemZTargetObjectFile.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/VE/Disassembler/VEDisassembler.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCAsmInfo.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCAsmInfo.h
M llvm/lib/Target/VE/MCTargetDesc/VEMCCodeEmitter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h
M llvm/lib/Target/VE/MCTargetDesc/VEMCTargetDesc.cpp
M llvm/lib/Target/VE/TargetInfo/VETargetInfo.cpp
M llvm/lib/Target/VE/VEAsmPrinter.cpp
M llvm/lib/Target/VE/VEISelLowering.cpp
M llvm/lib/Target/VE/VEMCInstLower.cpp
M llvm/lib/Target/VE/VETargetMachine.cpp
M llvm/lib/Target/VE/VETargetTransformInfo.h
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp
M llvm/lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/lib/Target/X86/X86FixupInstTuning.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Target/X86/X86WinEHUnwindV2.cpp
M llvm/lib/Target/XCore/Disassembler/XCoreDisassembler.cpp
M llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp
M llvm/lib/Target/XCore/TargetInfo/XCoreTargetInfo.cpp
M llvm/lib/Target/XCore/XCoreAsmPrinter.cpp
M llvm/lib/Target/XCore/XCoreTargetMachine.cpp
M llvm/lib/Target/XCore/XCoreTargetTransformInfo.h
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCAsmInfo.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCAsmInfo.h
R llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.h
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.h
M llvm/lib/Target/Xtensa/XtensaAsmPrinter.cpp
M llvm/lib/Target/Xtensa/XtensaFeatures.td
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/ElimAvailExtern.cpp
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/lib/Transforms/Scalar/ADCE.cpp
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNHoist.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/lib/Transforms/Utils/Evaluator.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopPeel.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
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/test/Analysis/CostModel/AArch64/cmp.ll
M llvm/test/Analysis/CostModel/AMDGPU/canonicalize.ll
M llvm/test/Analysis/CostModel/AMDGPU/copysign.ll
A llvm/test/Analysis/CostModel/AMDGPU/maximumnum.ll
A llvm/test/Analysis/CostModel/AMDGPU/minimumnum.ll
A llvm/test/Analysis/CostModel/AMDGPU/special-argument-intrinsics.ll
M llvm/test/Analysis/CostModel/RISCV/cast-half.ll
M llvm/test/Analysis/CostModel/RISCV/cast.ll
M llvm/test/Analysis/CostModel/RISCV/cmp.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-reverse.ll
M llvm/test/Analysis/HashRecognize/cyclic-redundancy-check.ll
A llvm/test/CodeGen/AArch64/aarch64-bitwisenot-fold.ll
A llvm/test/CodeGen/AArch64/arm64ec-builtins.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
M llvm/test/CodeGen/AArch64/fdiv-combine.ll
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
A llvm/test/CodeGen/AArch64/replace-with-veclib-libmvec-scalable.ll
A llvm/test/CodeGen/AArch64/replace-with-veclib-libmvec.ll
M llvm/test/CodeGen/AArch64/stack-hazard.ll
M llvm/test/CodeGen/AArch64/sve-expand-div.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-partial-reduce.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-sdiv-pow2.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-wide-add.ll
M llvm/test/CodeGen/AArch64/sve-sdiv-pow2.ll
A llvm/test/CodeGen/AArch64/sve2p1-vector-shuffles.ll
A llvm/test/CodeGen/AArch64/vector-ldst-offset.ll
M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
M llvm/test/CodeGen/AMDGPU/idot4s.ll
M llvm/test/CodeGen/AMDGPU/idot4u.ll
M llvm/test/CodeGen/AMDGPU/llvm.frexp.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
M llvm/test/CodeGen/AMDGPU/maximumnum.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.ll
A llvm/test/CodeGen/AMDGPU/sext-in-reg-vector-shuffle.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smin.ll
A llvm/test/CodeGen/BPF/warn-cmp.ll
M llvm/test/CodeGen/DirectX/finalize-linkage-remove-dead-lib.ll
M llvm/test/CodeGen/DirectX/finalize-linkage-remove-dead.ll
M llvm/test/CodeGen/DirectX/finalize_linkage.ll
M llvm/test/CodeGen/DirectX/flatten-array.ll
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
A llvm/test/CodeGen/DirectX/noop_bitcast_global_array_type.ll
M llvm/test/CodeGen/Generic/selection-dag-determinism.ll
M llvm/test/CodeGen/LoongArch/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/Mips/llvm-ir/fptosi.ll
M llvm/test/CodeGen/Mips/llvm-ir/load.ll
M llvm/test/CodeGen/Mips/llvm-ir/store.ll
M llvm/test/CodeGen/NVPTX/bug26185-2.ll
M llvm/test/CodeGen/NVPTX/bug26185.ll
M llvm/test/CodeGen/NVPTX/i1-ext-load.ll
M llvm/test/CodeGen/NVPTX/ldu-ldg.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
A llvm/test/CodeGen/PowerPC/aix-cc-byval-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval.ll
M llvm/test/CodeGen/PowerPC/aix-vec-arg-spills-mir.ll
M llvm/test/CodeGen/PowerPC/aix-vec-arg-spills.ll
M llvm/test/CodeGen/PowerPC/aix-vector-vararg-caller.ll
M llvm/test/CodeGen/PowerPC/aix-vector-vararg-fixed-caller.ll
A llvm/test/CodeGen/PowerPC/aix32-cc-abi-vaarg-mir.ll
M llvm/test/CodeGen/PowerPC/aix32-cc-abi-vaarg.ll
A llvm/test/CodeGen/PowerPC/aix64-cc-abi-vaarg-mir.ll
M llvm/test/CodeGen/PowerPC/aix64-cc-abi-vaarg.ll
M llvm/test/CodeGen/PowerPC/f128-arith.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/fallback.ll
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/CodeGen/RISCV/icmp-non-byte-sized.ll
M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
M llvm/test/CodeGen/RISCV/memcmp.ll
M llvm/test/CodeGen/RISCV/rvv/extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-int.ll
M llvm/test/CodeGen/RISCV/rvv/get_vector_length.ll
M llvm/test/CodeGen/RISCV/rvv/insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/legalize-load-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/legalize-store-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/masked-load-int.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-integer.ll
M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
M llvm/test/CodeGen/RISCV/rvv/undef-earlyclobber-chain.ll
M llvm/test/CodeGen/RISCV/rvv/vandn-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vfptoi-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vrgatherei16.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vslidedown.ll
M llvm/test/CodeGen/RISCV/rvv/vslideup.ll
M llvm/test/CodeGen/RISCV/rvv/vsub-sdnode.ll
A llvm/test/CodeGen/RISCV/xqcibm-cto-clo.ll
M llvm/test/CodeGen/SPIRV/ExecutionMode_Fragment.ll
A llvm/test/CodeGen/SPIRV/constant/spec-constant.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferLoad.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferLoadStore.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferStore.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/Packed.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/ScalarResourceType.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StructuredBuffer.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UnknownBufferLoad.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UnknownBufferStore.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/spirv.layout.type.ll
A llvm/test/CodeGen/SPIRV/linkage/link-attribute-vk.ll
M llvm/test/CodeGen/SPIRV/pointers/resource-addrspacecast-2.ll
M llvm/test/CodeGen/SPIRV/pointers/resource-addrspacecast.ll
M llvm/test/CodeGen/SPIRV/spirv-explicit-layout.ll
A llvm/test/CodeGen/SystemZ/fake-use-size.ll
M llvm/test/CodeGen/Thumb2/mve-shuffle.ll
M llvm/test/CodeGen/Thumb2/mve-vld3.ll
M llvm/test/CodeGen/Thumb2/schedm7-hazard.ll
M llvm/test/CodeGen/X86/avx512-shuffles/shuffle-blend.ll
M llvm/test/CodeGen/X86/combine-or-shuffle.ll
M llvm/test/CodeGen/X86/dpbusd.ll
M llvm/test/CodeGen/X86/dpbusd_const.ll
A llvm/test/CodeGen/X86/fixup-blend.ll
A llvm/test/CodeGen/X86/fold-masked-merge-demorgan.ll
M llvm/test/CodeGen/X86/horizontal-sum.ll
M llvm/test/CodeGen/X86/kcfi-arity.ll
M llvm/test/CodeGen/X86/remarks-section.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-256.ll
M llvm/test/CodeGen/X86/vector-reduce-add-mask.ll
M llvm/test/CodeGen/X86/vector-reduce-add-zext.ll
M llvm/test/CodeGen/X86/vector-reduce-add.ll
A llvm/test/CodeGen/X86/win64-eh-unwindv2-errors.mir
A llvm/test/CodeGen/X86/win64-eh-unwindv2-too-many-epilogs.mir
M llvm/test/CodeGen/X86/zero_extend_vector_inreg.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
A llvm/test/DebugInfo/AMDGPU/dwarfdump-rel.yaml
M llvm/test/DebugInfo/COFF/dwarf-headers.ll
A llvm/test/DebugInfo/COFF/emission-kind-no-codeview.ll
M llvm/test/DebugInfo/COFF/emission-kind-no-debug.ll
M llvm/test/DebugInfo/COFF/fission-cu.ll
M llvm/test/DebugInfo/COFF/fission-sections.ll
A llvm/test/DebugInfo/COFF/uefi-nodebug.ll
M llvm/test/DebugInfo/Generic/directives-only.ll
A llvm/test/DebugInfo/X86/DW_AT_object_pointer-non-standard-index.ll
M llvm/test/DebugInfo/X86/DW_AT_object_pointer.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx2-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512vl-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/x86-vpermi2.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx2-intrinsics-i386.ll
M llvm/test/Instrumentation/ThreadSanitizer/atomic-non-integer.ll
A llvm/test/MC/Disassembler/Xtensa/coprocessor.txt
A llvm/test/MC/Disassembler/Xtensa/debug.txt
A llvm/test/MC/Disassembler/Xtensa/exception.txt
A llvm/test/MC/Disassembler/Xtensa/highinterrupts.txt
A llvm/test/MC/Disassembler/Xtensa/interrupt.txt
A llvm/test/MC/Disassembler/Xtensa/prid.txt
A llvm/test/MC/Disassembler/Xtensa/timer.txt
M llvm/test/MC/Lanai/conditional_inst.s
M llvm/test/MC/Lanai/memory.s
M llvm/test/MC/LoongArch/Misc/cfi-advance.s
M llvm/test/MC/LoongArch/Relocations/fde-reloc.s
M llvm/test/MC/LoongArch/Relocations/sub-expr.s
A llvm/test/MC/RISCV/xandesvbfhcvt-valid.s
M llvm/test/MC/RISCV/xqcilsm-invalid.s
M llvm/test/MC/Xtensa/Core/processor-control.s
A llvm/test/MC/Xtensa/coprocessor.s
A llvm/test/MC/Xtensa/debug-invalid.s
A llvm/test/MC/Xtensa/debug.s
A llvm/test/MC/Xtensa/exception.s
A llvm/test/MC/Xtensa/highinterrupts.s
A llvm/test/MC/Xtensa/interrupt.s
A llvm/test/MC/Xtensa/prid.s
A llvm/test/MC/Xtensa/timer.s
M llvm/test/TableGen/true-false.td
A llvm/test/ThinLTO/X86/Inputs/devirt_single_hybrid_foo_tcl.ll
M llvm/test/ThinLTO/X86/devirt_single_hybrid.ll
A llvm/test/Transforms/Attributor/AMDGPU/tag-invariant-loads.ll
M llvm/test/Transforms/Attributor/dereferenceable-1.ll
M llvm/test/Transforms/Attributor/value-simplify-local-remote.ll
M llvm/test/Transforms/DeadStoreElimination/trivial-dse-calls.ll
A llvm/test/Transforms/EliminateAvailableExternally/convert-global-variables-to-local.ll
M llvm/test/Transforms/GVN/opt-remarks.ll
A llvm/test/Transforms/IndVarSimplify/simplify-icmp-operands-order.ll
M llvm/test/Transforms/InstCombine/AMDGPU/image-d16.ll
M llvm/test/Transforms/InstCombine/abs-1.ll
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstCombine/canonicalize-const-to-bop.ll
M llvm/test/Transforms/InstCombine/div.ll
M llvm/test/Transforms/InstCombine/double-float-shrink-2.ll
M llvm/test/Transforms/InstCombine/fabs.ll
M llvm/test/Transforms/InstCombine/fma.ll
A llvm/test/Transforms/InstCombine/fmul-tan-cos.ll
M llvm/test/Transforms/InstCombine/fpcast.ll
M llvm/test/Transforms/InstCombine/icmp-dom.ll
M llvm/test/Transforms/InstCombine/icmp-sub.ll
A llvm/test/Transforms/InstCombine/icmp-subadd.ll
M llvm/test/Transforms/InstCombine/logical-select.ll
M llvm/test/Transforms/InstCombine/minmax-intrinsics.ll
M llvm/test/Transforms/InstCombine/powi.ll
M llvm/test/Transforms/InstCombine/scmp.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/sqrt.ll
A llvm/test/Transforms/InstCombine/trunc-lshr.ll
M llvm/test/Transforms/InstCombine/vp-reverse.ll
M llvm/test/Transforms/InstSimplify/ConstProp/loads.ll
M llvm/test/Transforms/InstSimplify/ConstProp/vector-calls.ll
A llvm/test/Transforms/InstSimplify/vp-reverse.ll
M llvm/test/Transforms/LICM/call-hoisting.ll
M llvm/test/Transforms/LICM/funclet.ll
A llvm/test/Transforms/LoopStrengthReduce/AArch64/postidx-load.ll
M llvm/test/Transforms/LoopUnroll/peel-last-iteration-minmax.ll
A 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/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
A llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-no-remaining-iterations.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-intrinsic-calls.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-loop-backedge-elimination-epilogue.ll
A llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-vmla.ll
M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.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/outer_loop_test1_no_explicit_vect_width.ll
M llvm/test/Transforms/LoopVectorize/X86/pr131359-dead-for-splice.ll
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/LoopVectorize/check-prof-info.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
A 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-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-poison-ub-ops-feeding-pointer.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
M llvm/test/Transforms/LoopVectorize/scalable-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
A llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-branch-weights.ll
M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
A llvm/test/Transforms/LowerMatrixIntrinsics/phi.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/propagate-backwards-unsupported.ll
A llvm/test/Transforms/LowerTypeTests/Inputs/import-thinlto-funcs.yaml
M llvm/test/Transforms/LowerTypeTests/blockaddress-2.ll
M llvm/test/Transforms/LowerTypeTests/cfi-coff-comdat-rename.ll
M llvm/test/Transforms/LowerTypeTests/cfi-icall-alias.ll
M llvm/test/Transforms/LowerTypeTests/export-alias.ll
M llvm/test/Transforms/LowerTypeTests/export-icall.ll
M llvm/test/Transforms/LowerTypeTests/function-disjoint.ll
M llvm/test/Transforms/LowerTypeTests/function.ll
M llvm/test/Transforms/LowerTypeTests/icall-branch-funnel.ll
M llvm/test/Transforms/LowerTypeTests/pr37625.ll
M llvm/test/Transforms/LowerTypeTests/section.ll
A llvm/test/Transforms/PhaseOrdering/X86/fmaddsub.ll
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/external-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/slp-v2f16.ll
A llvm/test/Transforms/SLPVectorizer/SystemZ/non-power-2-subvector-extract.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelement-single-use-many-nodes.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
A llvm/test/Transforms/SLPVectorizer/isCommutative.ll
M llvm/test/Transforms/Util/add-TLI-mappings.ll
A llvm/test/tools/llvm-cov/showLineExecutionCounts-lcov-baseline.test
M llvm/test/tools/llvm-dwarfdump/X86/statistics.ll
A llvm/test/tools/llvm-exegesis/RISCV/unsupported-opcode.test
A llvm/test/tools/llvm-lto2/print-guid.test
A llvm/test/tools/llvm-mca/AArch64/Cortex/A320-basic-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Cortex/A320-neon-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Cortex/A320-sve-instructions.s
M llvm/test/tools/llvm-objcopy/MachO/strip-with-encryption-info.test
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/tools/llvm-exegesis/lib/Target.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/tools/llvm-readobj/DwarfCFIEHPrinter.h
M llvm/tools/llvm-shlib/CMakeLists.txt
M llvm/unittests/Analysis/IR2VecTest.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
M llvm/unittests/Frontend/CMakeLists.txt
M llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp
A llvm/unittests/Frontend/HLSLRootSignatureRangesTest.cpp
M llvm/unittests/Object/ELFObjectFileTest.cpp
M llvm/unittests/ProfileData/CoverageMappingTest.cpp
M llvm/unittests/ProfileData/DataAccessProfTest.cpp
M llvm/unittests/Remarks/RemarksLinkingTest.cpp
M llvm/unittests/Remarks/YAMLRemarksParsingTest.cpp
M llvm/unittests/Remarks/YAMLRemarksSerializerTest.cpp
M llvm/unittests/Target/AArch64/CMakeLists.txt
M llvm/unittests/Target/LoongArch/CMakeLists.txt
M llvm/unittests/Target/RISCV/CMakeLists.txt
M llvm/unittests/Target/SPIRV/CMakeLists.txt
M llvm/unittests/Target/VE/CMakeLists.txt
M llvm/unittests/Target/WebAssembly/CMakeLists.txt
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
M llvm/utils/TableGen/Common/CodeGenInstruction.cpp
M llvm/utils/TableGen/Common/CodeGenInstruction.h
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/Common/DAGISelMatcher.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/Common/PredicateExpander.h
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/FastISelEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/TableGen/X86DisassemblerTables.cpp
M llvm/utils/UpdateTestChecks/asm.py
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/cppcoreguidelines/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/DebugInfo/DWARF/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/ARM/MCTargetDesc/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/Lanai/MCTargetDesc/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/Mips/MCTargetDesc/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/SystemZ/MCTargetDesc/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn
M llvm/utils/lit/lit/LitConfig.py
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/lit/discovery.py
M llvm/utils/lit/lit/worker.py
M mlir/docs/DefiningDialects/Constraints.md
M mlir/docs/Dialects/Vector.md
M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.h
M mlir/include/mlir/Dialect/Affine/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationTypeInterfaces.h
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationTypeInterfaces.td
M mlir/include/mlir/Dialect/Bufferization/IR/UnstructuredControlFlow.h
M mlir/include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.td
M mlir/include/mlir/Dialect/EmitC/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.h
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
A mlir/include/mlir/Dialect/EmitC/IR/EmitCInterfaces.h
A mlir/include/mlir/Dialect/EmitC/IR/EmitCInterfaces.td
R mlir/include/mlir/Dialect/EmitC/IR/EmitCTraits.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
M mlir/include/mlir/Dialect/Mesh/Transforms/Passes.h
M mlir/include/mlir/Dialect/Mesh/Transforms/Passes.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVImageOps.td
M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
M mlir/include/mlir/Dialect/Tosa/Utils/ConversionUtils.h
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
M mlir/include/mlir/IR/Constraints.td
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.h
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
M mlir/include/mlir/Query/Matcher/Marshallers.h
M mlir/include/mlir/Query/Matcher/MatchFinder.h
M mlir/include/mlir/Query/Matcher/MatchersInternal.h
M mlir/include/mlir/Query/Matcher/SliceMatchers.h
M mlir/include/mlir/Query/Matcher/VariantValue.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/EmulateAtomics.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/ResolveStridedMetadata.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
M mlir/lib/Dialect/Arith/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizationDialect.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
A mlir/lib/Dialect/Bufferization/IR/BufferizationTypeInterfaces.cpp
M mlir/lib/Dialect/Bufferization/IR/CMakeLists.txt
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/EmitC/Transforms/FormExpressions.cpp
M mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandOps.cpp
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/SPIRV/IR/ImageOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVGLCanonicalization.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/lib/Dialect/Shape/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparsificationAndBufferizationPass.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
M mlir/lib/Query/Matcher/CMakeLists.txt
A mlir/lib/Query/Matcher/MatchersInternal.cpp
M mlir/lib/Query/Matcher/RegistryManager.cpp
M mlir/lib/Query/Matcher/VariantValue.cpp
M mlir/lib/Query/Query.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMIRToLLVMTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
M mlir/python/mlir/dialects/transform/__init__.py
M mlir/test/CMakeLists.txt
M mlir/test/Conversion/AMDGPUToROCDL/load_lds.mlir
M mlir/test/Conversion/ControlFlowToLLVM/branch.mlir
M mlir/test/Conversion/ConvertToSPIRV/func-signature-vector-unroll.mlir
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
M mlir/test/Dialect/Affine/constant-fold.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize.mlir
M mlir/test/Dialect/ControlFlow/invalid.mlir
M mlir/test/Dialect/ControlFlow/ops.mlir
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
M mlir/test/Dialect/Linalg/mesh-spmdization.mlir
M mlir/test/Dialect/MemRef/expand-ops.mlir
A mlir/test/Dialect/Mesh/backward-sharding-propagation.mlir
A mlir/test/Dialect/Mesh/forward-backward-sharding-propagation.mlir
A mlir/test/Dialect/Mesh/forward-sharding-propagation.mlir
M mlir/test/Dialect/Mesh/spmdization.mlir
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
M mlir/test/Dialect/SPIRV/Transforms/gl-canonicalize.mlir
M mlir/test/Dialect/Tensor/mesh-spmdization.mlir
M mlir/test/Dialect/Tosa/constant_folding.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Transform/test-pass-application.mlir
M mlir/test/Dialect/Vector/constant-fold.mlir
M mlir/test/Dialect/Vector/scalar-vector-transfer-to-memref.mlir
A mlir/test/Dialect/Vector/single-fold.mlir
M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
M mlir/test/Dialect/XeGPU/invalid.mlir
A mlir/test/Dialect/XeGPU/layout.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
M mlir/test/Dialect/XeGPU/subgroup-map-propagation.mlir
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
M mlir/test/Dialect/XeGPU/xegpu-unroll-patterns.mlir
A mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-elemwise.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-rr.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg.mlir
A mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/vector-contract-i8mm.mlir
M mlir/test/Integration/GPU/CUDA/dump-ptx.mlir
M mlir/test/Target/LLVMIR/Import/metadata-profiling.ll
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
A mlir/test/Target/LLVMIR/omptarget-debug-loop-loc.mlir
M mlir/test/Target/LLVMIR/omptarget-depend.mlir
M mlir/test/Target/LLVMIR/omptarget-nowait-llvm.mlir
A mlir/test/Target/LLVMIR/omptarget-nowait.mlir
M mlir/test/Target/LLVMIR/omptargetdata-nowait-llvm.mlir
A mlir/test/Target/LLVMIR/openmp-task-charbox.mlir
M mlir/test/Target/SPIRV/constant.mlir
M mlir/test/Target/SPIRV/gl-ops.mlir
M mlir/test/Target/SPIRV/image-ops.mlir
A mlir/test/Target/SPIRV/lit.local.cfg
M mlir/test/Transforms/constant-fold-debuginfo.mlir
M mlir/test/Transforms/constant-fold.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.h
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lib/Dialect/Test/TestTypes.cpp
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
M mlir/test/lib/Transforms/CMakeLists.txt
R mlir/test/lib/Transforms/TestConstantFold.cpp
A mlir/test/lib/Transforms/TestSingleFold.cpp
M mlir/test/lit.cfg.py
M mlir/test/lit.site.cfg.py.in
A mlir/test/mlir-query/backward-slice-union.mlir
R mlir/test/mlir-query/complex-test.mlir
A mlir/test/mlir-query/forward-slice-by-predicate.mlir
A mlir/test/mlir-query/logical-operator-test.mlir
A mlir/test/mlir-query/slice-function-extraction.mlir
A mlir/test/mlir-tblgen/attr-constraints.td
M mlir/test/python/dialects/transform.py
M mlir/tools/mlir-opt/mlir-opt.cpp
M mlir/tools/mlir-query/mlir-query.cpp
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/unittests/Dialect/Utils/ReshapeOpsUtilsTest.cpp
M mlir/utils/vscode/package-lock.json
M mlir/utils/vscode/package.json
A offload/cmake/caches/AMDGPULibcBot.cmake
M runtimes/CMakeLists.txt
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/config.bzl
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/tblgen.bzl
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
M utils/bazel/llvm_configs/config.h.cmake
M utils/bazel/llvm_configs/llvm-config.h.cmake
Log Message:
-----------
Merge branch 'main' into users/philnik777/cxx03_split_libcxx_tests
Compare: https://github.com/llvm/llvm-project/compare/271c5135f04b...b202fb0e98b3
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