[all-commits] [llvm/llvm-project] 954cce: [clang] fix partial ordering of NTTP packs (#134461)
Koakuma via All-commits
all-commits at lists.llvm.org
Tue Apr 15 18:38:33 PDT 2025
Branch: refs/heads/users/koachan/spr/main.sparc-use-umulxhi-to-do-extending-64x64-128-multiply-when-we-have-vis3
Home: https://github.com/llvm/llvm-project
Commit: 954ccee5d53032f1cdea23368e11922edc20615d
https://github.com/llvm/llvm-project/commit/954ccee5d53032f1cdea23368e11922edc20615d
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/Import/pack-expansion-expr/test.cpp
M clang/test/SemaTemplate/attributes.cpp
M clang/test/SemaTemplate/partial-order.cpp
M clang/test/SemaTemplate/temp_arg_nontype.cpp
Log Message:
-----------
[clang] fix partial ordering of NTTP packs (#134461)
This fixes partial ordering of pack expansions of NTTPs, by procedding
with the check using the pattern of the NTTP through the rules of the
non-pack case.
This also unifies almost all of the different versions of
FinishTemplateArgumentDeduction (except the function template case).
This makes sure they all follow the rules consistently, instantiating
the parameters and comparing those with the argument.
Fixes #132562
Commit: e2885772f05ddf9d81c54c5489801108838ca053
https://github.com/llvm/llvm-project/commit/e2885772f05ddf9d81c54c5489801108838ca053
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/lib/Headers/llvm_libc_wrappers/stdlib.h
Log Message:
-----------
[libc] Fix function that wasn't updated in wrapper headers
Commit: 4b90f24db81fb4378d9f4816f31e16195d8adb0f
https://github.com/llvm/llvm-project/commit/4b90f24db81fb4378d9f4816f31e16195d8adb0f
Author: Julian Lettner <yln at users.noreply.github.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M lldb/test/API/functionalities/asan/Makefile
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/asan/TestReportData.py
Log Message:
-----------
[LLDB] Add integration test for libsanitizers trace collection (#134323)
Add integration test for libsanitizers trace collection
(`SanitizersAllocationTraces=all`).
rdar://144244084
Commit: c75eac7c0347b2df88773983bef1e72cb53ad35d
https://github.com/llvm/llvm-project/commit/c75eac7c0347b2df88773983bef1e72cb53ad35d
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
A lld/test/COFF/imports-static-lib-indirect.test
A lld/test/COFF/imports-static-lib.test
R lld/test/COFF/undefined_lazy.test
Log Message:
-----------
[LLD][COFF] Don't dllimport from static libraries (#134443)
This reverts commit 6a1bdd9 and re-instate behavior that matches what
MSVC link.exe does, that is, error out when trying to dllimport a symbol
from a static library.
A hint is now displayed in stdout, mentioning that we should rather dllimport the symbol
from a import library.
Fixes https://github.com/llvm/llvm-project/issues/131807
Commit: b09daa4b2314342ed9084d7d85ccd3294fd68021
https://github.com/llvm/llvm-project/commit/b09daa4b2314342ed9084d7d85ccd3294fd68021
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/docs/GitHub.rst
Log Message:
-----------
[llvm][docs] 2 small fixes to GitHub guide (#134620)
1. `arc` is long gone, no need to mention it.
2. Say exactly where user branches can be made.
Commit: 268c065eab06b81a0d7256ac62c0865b3781e236
https://github.com/llvm/llvm-project/commit/268c065eab06b81a0d7256ac62c0865b3781e236
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
A clang/test/CodeGenCoroutines/pr134409.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
Log Message:
-----------
[fatlto] Add coroutine passes when using FatLTO with ThinLTO (#134434)
When coroutines are used w/ both -ffat-lto-objects and -flto=thin,
the coroutine passes are not added to the optimization pipelines.
Ensure they are added before ModuleOptimization to generate a
working ELF object.
Fixes #134409.
Commit: 7fe6e70e7c19a0f5309f1eb1b84f9094189ebff7
https://github.com/llvm/llvm-project/commit/7fe6e70e7c19a0f5309f1eb1b84f9094189ebff7
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.cpp
M llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h
M llvm/lib/Target/NVPTX/NVPTXAllocaHoisting.cpp
M llvm/lib/Target/NVPTX/NVPTXAllocaHoisting.h
M llvm/lib/Target/NVPTX/NVPTXAssignValidGlobalNames.cpp
M llvm/lib/Target/NVPTX/NVPTXAtomicLower.cpp
M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.h
M llvm/lib/Target/NVPTX/NVPTXForwardParams.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerUnreachable.cpp
M llvm/lib/Target/NVPTX/NVPTXPeephole.cpp
M llvm/lib/Target/NVPTX/NVPTXProxyRegErasure.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
M llvm/lib/Target/NVPTX/NVVMReflect.cpp
Log Message:
-----------
[NFC][LLVM][NVPTX] Cleanup pass initialization for NVPTX (#134311)
- Move all pass initialization function calls to NVPTX target
initialization and out of individual pass constructors.
- Move all pass initialization function declaration to NVPTX.h.
- https://github.com/llvm/llvm-project/issues/111767
Commit: 16c84c4475b909d2de455a44139643c03fe3fe25
https://github.com/llvm/llvm-project/commit/16c84c4475b909d2de455a44139643c03fe3fe25
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M .github/new-prs-labeler.yml
M clang/include/clang/Basic/Builtins.td
A clang/include/clang/Basic/BuiltinsDirectX.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaDirectX.h
M clang/lib/Basic/Targets/DirectX.cpp
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenFunction.h
A clang/lib/CodeGen/TargetBuiltins/DirectX.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/lib/Sema/SemaDirectX.cpp
A clang/test/CodeGenDirectX/Builtins/dot2add.c
Log Message:
-----------
[DirectX] Add target builtins (#134439)
- fixes #132303
- Moves dot2add from a language builtin to a target builtin.
- Sets the scaffolding for Sema checks for DX builtins
- Setup DirectX backend as able to have target builtins
- Adds a DX TargetBuiltins emitter in
`clang/lib/CodeGen/TargetBuiltins/DirectX.cpp`
Commit: efce8f1ce680b86af48c49edda2c3cbb370a6ba0
https://github.com/llvm/llvm-project/commit/efce8f1ce680b86af48c49edda2c3cbb370a6ba0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineX86ShufflesRecursively - use enumerate to iterate over shuffle operands. NFC.
Commit: 0a35dd7e99596b1a0316bb81bee3c698adaf0a05
https://github.com/llvm/llvm-project/commit/0a35dd7e99596b1a0316bb81bee3c698adaf0a05
Author: Linux User <linuxusergd at outlook.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/tools/llvm-ar/llvm-ar.cpp
Log Message:
-----------
[llvm-ar] --help: fix unquoted angle bracket (#101364)
Changes the argument in llvm-ar help message from `-M [<mri-script]` to
`-M [< mri-script]`
Commit: 1847b00330649aa22a03ac30832bf447f5b0dd7a
https://github.com/llvm/llvm-project/commit/1847b00330649aa22a03ac30832bf447f5b0dd7a
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M libcxx/utils/libcxx/test/params.py
Log Message:
-----------
[libc++][ci] Removes C++2b selection option. (#88557)
Since Clang 16 is no longer supported all compilers support C++23.
Commit: 01ec74dfd0db307a3b67cc67448269231cd2e83c
https://github.com/llvm/llvm-project/commit/01ec74dfd0db307a3b67cc67448269231cd2e83c
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
A flang/test/Lower/OpenMP/copyprivate3.f90
Log Message:
-----------
[flang][OpenMP] Fix copyprivate of procedure pointers (#134292)
Just modify the assert to consider fir::BoxProcType as valid. No
other changes are needed.
Fixes #131549
Commit: a406fb8f5a6a65144e5c2564c17ac9ee29da43ed
https://github.com/llvm/llvm-project/commit/a406fb8f5a6a65144e5c2564c17ac9ee29da43ed
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M libcxx/test/libcxx/clang_tidy.gen.py
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/test/tools/clang_tidy_checks/libcpp_module.cpp
A libcxx/test/tools/clang_tidy_checks/robust_against_operator_ampersand.cpp
A libcxx/test/tools/clang_tidy_checks/robust_against_operator_ampersand.hpp
Log Message:
-----------
[libc++] Clang-tidy operator& hijacker. (#128366)
Guards against introducing new places where operator& depends on a
template type.
Commit: f7cc213d58df01fc630500c5c5ebe48b5577653d
https://github.com/llvm/llvm-project/commit/f7cc213d58df01fc630500c5c5ebe48b5577653d
Author: Lee Wei <lee10202013 at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ConstraintSystem.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
Log Message:
-----------
[ConstraintSystem] Update comments (#127351)
It took me some time to fully understand the implementation of
Fourier–Motzkin elimination in the Constraint System, so I added an
example in the comments. Hopefully future developers can understand the
algorithm more easily with the example.
Commit: f413772b318c2da4dfc488df81cb3c458606301f
https://github.com/llvm/llvm-project/commit/f413772b318c2da4dfc488df81cb3c458606301f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/split-node-last-inst-vectorized.ll
Log Message:
-----------
[SLP]Fix last instruction selection for vectorized last instruction in SplitVectorize nodes
If the last instruction in the SplitVectorize node is vectorized and
scheduled as part of some bundles, the SplitVectorize node might be
placed in the wrong order, leading to a compiler crash. Need to check if
the vectorized node has vector value and place the SplitVectorize node after the vector instruction to prevent a compile crash.
Fixes issue reported in https://github.com/llvm/llvm-project/pull/133091#issuecomment-2782826805
Commit: 600eeed51f538adc5f43c8223a57608e73aba31f
https://github.com/llvm/llvm-project/commit/600eeed51f538adc5f43c8223a57608e73aba31f
Author: Henry Jiang <h243jian at uwaterloo.ca>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/XCOFFLinkGraphBuilder.cpp
Log Message:
-----------
[JITLink][NFC] Guard functions used only for debug for `XCOFFLinkGraphBuilder` (#134413)
Commit: 112af8796451e19b43d7a0788039a27b08802974
https://github.com/llvm/llvm-project/commit/112af8796451e19b43d7a0788039a27b08802974
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeTransposeConv.cpp
Log Message:
-----------
[mlir][tosa] Add parenthesis for the weight padding calculation (#134420)
Minor change.
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 1c8291ffc4d08ca6be915b880d163bfcf91b0c48
https://github.com/llvm/llvm-project/commit/1c8291ffc4d08ca6be915b880d163bfcf91b0c48
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/xcvmem.ll
Log Message:
-----------
RISCV: Convert test to opaque pointers
Commit: cb9afe53bf6c7ceb0bdf3b579c185cbff15a3b38
https://github.com/llvm/llvm-project/commit/cb9afe53bf6c7ceb0bdf3b579c185cbff15a3b38
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[mlir][tosa] Fix validation pass assert (#134445)
This fixes a validation pass assert when processing ops with quantized
element types.
The failure case is added to invalid.mlir
The fix is to re-order the validation checking so that only ops with
int/float operands and results pass the first stage of validation pass,
so that the remaining checks do not need to handle quantized data types.
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: fbc8335311b27d73fb685d5ebfb702f7acf134d2
https://github.com/llvm/llvm-project/commit/fbc8335311b27d73fb685d5ebfb702f7acf134d2
Author: Jan Leyonberg <jan_sjodin at yahoo.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/omptarget-teams-distribute-reduction.mlir
A mlir/test/Target/LLVMIR/omptarget-teams-reduction.mlir
A mlir/test/Target/LLVMIR/openmp-teams-distribute-reduction.mlir
A mlir/test/Target/LLVMIR/openmp-teams-reduction.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
A offload/test/offloading/fortran/basic-target-parallel-reduction.f90
A offload/test/offloading/fortran/basic-target-teams-parallel-reduction.f90
Log Message:
-----------
[MLIR][OpenMP] Add codegen for teams reductions (#133310)
This patch adds the lowering of teams reductions from the omp dialect to
LLVM-IR. Some minor cleanup was done in clang to remove an unused
parameter.
Commit: 4701afaeaf2aba604a6160cde04634be88e21022
https://github.com/llvm/llvm-project/commit/4701afaeaf2aba604a6160cde04634be88e21022
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineX86ShufflesRecursively - merge loops peeking through shuffle operands. NFC.
Merge loops to peek through free insert_subvector / bitcasts / extract_subvector.
To keep this NFC I haven't reordered the peek throughs - this will done in a future patch to help with #133947 regressions
Commit: 783201b184572a07efe2dc6b6b9110873421cf11
https://github.com/llvm/llvm-project/commit/783201b184572a07efe2dc6b6b9110873421cf11
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
M llvm/test/Transforms/Attributor/allocator.ll
M llvm/test/Transforms/Attributor/callbacks.ll
M llvm/test/Transforms/Attributor/issue87856.ll
M llvm/test/Transforms/Attributor/memory_locations.ll
M llvm/test/Transforms/Attributor/noalias.ll
M llvm/test/Transforms/Attributor/nocapture-1.ll
M llvm/test/Transforms/Attributor/noundef.ll
M llvm/test/Transforms/Attributor/undefined_behavior.ll
M llvm/test/Transforms/Attributor/value-simplify-local-remote.ll
M llvm/test/Transforms/Attributor/value-simplify.ll
Log Message:
-----------
Attributor: Don't follow uses of ConstantData (#134573)
These should not really have uselists, and it's not worth the compile
time of looking at all uses of trivial constants. The main observable
change of this is it no longer adds align attributes on constant null
uses, but those are not useful. Some of these cases should potentially
be more aggressive and not look at any Constant users.
Commit: 23c27f3efcdda730b365698ade5fd0c1c283f2e7
https://github.com/llvm/llvm-project/commit/23c27f3efcdda730b365698ade5fd0c1c283f2e7
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp
M llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp
M llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64CompressJumpTables.cpp
M llvm/lib/Target/AArch64/AArch64CondBrTuning.cpp
M llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
M llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/lib/Target/AArch64/AArch64PostCoalescerPass.cpp
M llvm/lib/Target/AArch64/AArch64PromoteConstant.cpp
M llvm/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp
M llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp
M llvm/lib/Target/AArch64/AArch64SpeculationHardening.cpp
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
M llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
Log Message:
-----------
[NFC][LLVM][AArch64] Cleanup pass initialization for AArch64 (#134315)
- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767
Commit: c1c0d551bae4e4f4ed13fcd9264834a2713fe44b
https://github.com/llvm/llvm-project/commit/c1c0d551bae4e4f4ed13fcd9264834a2713fe44b
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M flang/lib/Lower/IO.cpp
M flang/test/Lower/io-derived-type.f90
Log Message:
-----------
[flang] Non-type-bound defined IO lowering for an array of derived type (#134667)
Update Non-type-bound IO lowering to call OutputDerivedType for an array
of derived type (rather than OutputDescriptor).
Commit: 1043f5cb0b117bd63369debe80a2d446126cc079
https://github.com/llvm/llvm-project/commit/1043f5cb0b117bd63369debe80a2d446126cc079
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
Log Message:
-----------
[gn] port 16c84c4475b9
Commit: 4607d39c7eded3ff6d425cbc502e30349078365c
https://github.com/llvm/llvm-project/commit/4607d39c7eded3ff6d425cbc502e30349078365c
Author: Pranav Kant <prka at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Fix build (#134697)
Fixes fallback from #134439
Commit: 21d912121c9f41385b165a736be787527f5bd7c2
https://github.com/llvm/llvm-project/commit/21d912121c9f41385b165a736be787527f5bd7c2
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/Makefile
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/TestConsecutiveWatchpoints.py
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/main.c
M lldb/tools/debugserver/source/DNBBreakpoint.cpp
Log Message:
-----------
[lldb][debugserver] Fix an off-by-one error in watchpoint identification (#134314)
debugserver takes the address of a watchpoint exception and calculates
which watchpoint was responsible for it. There was an off-by-one error
in the range calculation which causes two watchpoints on consecutive
ranges to not correctly identify hits to the second watchpoint. The
result is that lldb wouldn't show the second watchpoint as ever being
hit.
rdar://145107575
Commit: 369c7739d0853b7931410037843d5a63f50bc0a1
https://github.com/llvm/llvm-project/commit/369c7739d0853b7931410037843d5a63f50bc0a1
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
R lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/Makefile
R lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/TestConsecutiveWatchpoints.py
R lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/main.c
M lldb/tools/debugserver/source/DNBBreakpoint.cpp
Log Message:
-----------
Revert "[lldb][debugserver] Fix an off-by-one error in watchpoint identification (#134314)"
This reverts commit 21d912121c9f41385b165a736be787527f5bd7c2.
Failure on the aarch64 ubuntu bot when setting the 4th watchpoint;
may be a hardware limitation on that bot. I thought creating four
watchpoints would be generally safe, but I don't need to do that
for my test, will re-land without it.
Commit: 529e9127f0d61f177f2c62ade531d876cf89bf59
https://github.com/llvm/llvm-project/commit/529e9127f0d61f177f2c62ade531d876cf89bf59
Author: YLChenZ <chentongyongcz at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[clang][doc]: Merge entries with duplicate content. (#134089)
Before the patch:

after the patch:

Fixes #133706
Commit: 10bef367a5643bc41d0172b02e080645c68f821a
https://github.com/llvm/llvm-project/commit/10bef367a5643bc41d0172b02e080645c68f821a
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/zbb-cmp-combine.ll
Log Message:
-----------
[RISCV][test] Fix a comment typo (#134242)
Commit: 8f5a3ec649a3b46093c8a8140bbd91f21236fde6
https://github.com/llvm/llvm-project/commit/8f5a3ec649a3b46093c8a8140bbd91f21236fde6
Author: Brad Smith <brad at comstyle.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
[sanitizer_common] Use HW_NCPUONLINE sysctl on NetBSD in GetNumberOfCPUs() (#134704)
Commit: 76fee8f4edf10fb39f0323171c060e97ec0005b0
https://github.com/llvm/llvm-project/commit/76fee8f4edf10fb39f0323171c060e97ec0005b0
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/interop-construct.f90
Log Message:
-----------
[flang][OpenMP][NFC] Don't use special chars in error messages (#134686)
Some error messages were using a special char for `fi`, in the
word `specified`, probably due to a typo.
This caused an error on Windows: #134625
Commit: 27c099bc84d1432752b3828f1ba95de24db76c5e
https://github.com/llvm/llvm-project/commit/27c099bc84d1432752b3828f1ba95de24db76c5e
Author: Drew Lewis <drew90 at vt.edu>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
A clang/test/CodeGen/Inputs/cuda.h
R clang/test/CodeGen/include/cuda.h
M clang/test/CodeGen/nvptx-surface.cu
Log Message:
-----------
Move CodeGen cuda.h to Inputs from include (#134706)
Mirrors the behavior of CodeGenCUDA directory and the location of other
.h files in CodeGen.
Commit: 9965f3d337bba09fbf2497a78123957fdaee0ffa
https://github.com/llvm/llvm-project/commit/9965f3d337bba09fbf2497a78123957fdaee0ffa
Author: Damien L-G <dalg24 at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/support.h
M libcxx/test/std/atomics/atomics.types.generic/trivially_copyable.verify.cpp
Log Message:
-----------
[libc++] Improve diagnostic when violating `std::atomic` trivially copyable mandates (#131754)
When attempting to instantiate `std::atomic` with a non trivially
copyable type, one gets errors from instantiating internals before the
actual static assertion that check the template parameter type
requirements.
The `verify` test for it had a `// ADDITIONAL_COMPILE_FLAGS: -Xclang
-verify-ignore-unexpected=error` directive to work around this issue.
The changes I propose enable us to drop that directive.
As I understand it, the `verify` test was misplaced so I moved it to
`test/{std -> libcxx}/atomics`.
(I ran into this while working on #121414 in which we would add another
static assertion in `__check_atomic_mandates`)
Commit: 3479c574667eec375cc4ed91e0d63aa2d408b62c
https://github.com/llvm/llvm-project/commit/3479c574667eec375cc4ed91e0d63aa2d408b62c
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/test/CodeGen/PowerPC/mcm-5.ll
A llvm/test/CodeGen/PowerPC/ppc32-pic-bcl.ll
M llvm/test/CodeGen/PowerPC/ppc32-pic-large.ll
M llvm/test/CodeGen/PowerPC/ppc32-pic.ll
Log Message:
-----------
PowerPC32:PIC: Update to bcl to fix branch prediction mis-predict issue (#134140)
Update `bl` to `bcl 20, 31, .+4` for 32bit PIC code gen so the link
stack is
not corrupted and cause mis-predict for the branch predictor.
fixes: https://github.com/llvm/llvm-project/issues/128644
Commit: 19dbde0e81e98758ae9d37ef027bc8d9bbd673df
https://github.com/llvm/llvm-project/commit/19dbde0e81e98758ae9d37ef027bc8d9bbd673df
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMFixCortexA57AES1742098Pass.cpp
M llvm/lib/Target/AVR/AVRExpandPseudoInsts.cpp
M llvm/lib/Target/Lanai/Lanai.h
M llvm/lib/Target/Lanai/LanaiMemAluCombiner.cpp
M llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
M llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
M llvm/lib/Target/XCore/XCoreTargetMachine.cpp
Log Message:
-----------
[NFC][LLVM] Cleanup pass initialization for ARM/ARV/Lanai/X86/XCore (#134400)
- Remove pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767
Commit: 9fdac840ec4901a6e3c71249a136cbecc4a9921a
https://github.com/llvm/llvm-project/commit/9fdac840ec4901a6e3c71249a136cbecc4a9921a
Author: Brad Smith <brad at comstyle.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
[sanitizer_common] Fix building with NetBSD 10.99.12 or newer (#134708)
https://github.com/NetBSD/src/commit/16543c49052c820334cffc5c69b2afde18f02458
__lwp_getprivate_fast() was moved to a new arch-specific header file.
Closes: #125566
Co-authored-by: Thomas Klausner <wiz at gatalith.at>
Commit: 7d4cddadf2e9e59cde65592a1ea80576a1c1b0fc
https://github.com/llvm/llvm-project/commit/7d4cddadf2e9e59cde65592a1ea80576a1c1b0fc
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/SelectionDAG/BUILD.gn
Log Message:
-----------
[gn build] Port 0a1742708ddc
Commit: 06bf7a99fd21c1c450d81d2dc8d3e529042181be
https://github.com/llvm/llvm-project/commit/06bf7a99fd21c1c450d81d2dc8d3e529042181be
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port 1f72fa29ecb4
Commit: e1f6e40b282aef17e35de62f14e7b57b487fe2bc
https://github.com/llvm/llvm-project/commit/e1f6e40b282aef17e35de62f14e7b57b487fe2bc
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 475cbf0ad6e7
Commit: 78f624a0d41e9a304ab6f4ac713417b88c667173
https://github.com/llvm/llvm-project/commit/78f624a0d41e9a304ab6f4ac713417b88c667173
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 7013b51548c0
Commit: 7aedebac8cb473555aa8a2928ac3851b0142921e
https://github.com/llvm/llvm-project/commit/7aedebac8cb473555aa8a2928ac3851b0142921e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Populate ExitBlocks when cloning VPlan (NFC).
Update VPlan::duplicate to add cloned exit blocks to ExitBlocks.
Currently there are no uses of the exit blocks after cloning so this is
NFC at the moment.
Commit: d4c16424cf295e7edb7ecd5f8831ff195f7a8fa7
https://github.com/llvm/llvm-project/commit/d4c16424cf295e7edb7ecd5f8831ff195f7a8fa7
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Demangle/MicrosoftDemangle.cpp
M llvm/test/Demangle/invalid-manglings.test
Log Message:
-----------
[LLVM][Demangle] Fix MS Demangler to be stricter about wide string literals (#134483)
Static analysis detected that Demangler::demangleStringLiteral had a
potential overflow if not checking StringByteSize properly.
Added check to ensure that for wide string it is always even and that
there were the byte count did not mismatch the actual size of the
literal.
Fixes: https://github.com/llvm/llvm-project/issues/129970
Commit: 922260722795471870ef793f3187e9a37b145661
https://github.com/llvm/llvm-project/commit/922260722795471870ef793f3187e9a37b145661
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/utils/gn/build/sync_source_lists_from_cmake.py
M llvm/utils/gn/secondary/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
A llvm/utils/gn/secondary/compiler-rt/lib/builtins/sources.gni
A llvm/utils/gn/secondary/compiler-rt/test/builtins/BUILD.gn
Log Message:
-----------
gn build: Add check-builtins target.
Tested on aarch64 Linux and x86_64 Linux.
Reviewers: aeubanks, nico
Reviewed By: aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/134482
Commit: 15750a0ab2356bea9544b70a72edce421060086e
https://github.com/llvm/llvm-project/commit/15750a0ab2356bea9544b70a72edce421060086e
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-addition.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-conversion-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-float.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-scale.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-subtraction.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-unnecessary-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/redundant-strcat-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/time-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/time-subtraction.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/upgrade-duration-conversions.cpp
M clang-tools-extra/test/clang-tidy/checkers/altera/struct-pack-align.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-memfd-create.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-open.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-socket.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/incorrect-enable-shared-from-this.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/move-forwarding-reference.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-in-initialization-strlen.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-memcpy-safe-cxx.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-strlen.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-wcslen.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/posix-return.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/standalone-empty.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/stringview-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/swapped-arguments.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-constant-array-index.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-use-assignment.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/virtual-class-destructor.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/build-explicit-make-pair.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/objc-avoid-nsobject-new.m
M clang-tools-extra/test/clang-tidy/checkers/google/upgrade-googletest-case.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-isa-or-dyn-cast-in-conditionals.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned2.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned3.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/twine-local.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values-before-cxx23.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/definitions-in-headers.hpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-camelback.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-const.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-extra.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-lowercase.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-rewritten-binop.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-uppercase.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-shared.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/replace-auto-ptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/type-traits.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast-remove-stars.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-for-pointer.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-iterator.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-min-type-name-length.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison-qt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-move-constructor-fix.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-members.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-custom-list.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-conflicted-fixes-of-alias-checkers.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-fixes-of-alias-checkers.cpp
Log Message:
-----------
[clang-tidy] Use --match-full-lines instead of --strict-whitespace in check_clang_tidy (#133756)
See Discourse post here:
https://discourse.llvm.org/t/rfc-using-match-full-lines-in-clang-tidy-tests/85553
I've added `--match-partial-fixes` to all tests that were failing,
unless I noticed the fix was quick and trivial.
Commit: d1a05721172272f7aab685b56d99e86814a15bff
https://github.com/llvm/llvm-project/commit/d1a05721172272f7aab685b56d99e86814a15bff
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
Log Message:
-----------
[AMDGPU] Add buffer.fat.ptr.load.lds intrinsic wrapping raw rsrc version (#133015)
Add a buffer_fat_ptr_load_lds intrinsic, by analogy with
global_load_lds, which enables using `ptr addrspace(7)` to set the rsrc
and offset arguments to raw_ptr_buffer_load_lds.
Commit: 3756ba3c87f78a2746f26434209e29ac288a5fc6
https://github.com/llvm/llvm-project/commit/3756ba3c87f78a2746f26434209e29ac288a5fc6
Author: vporpo <vporpodas at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Constant.h
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/SandboxIR/Type.h
M llvm/include/llvm/SandboxIR/Values.def
M llvm/lib/SandboxIR/Context.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement ConstantDataSequential and subclasses (#133547)
This patch implements sandboxir::ConstantDataSequential mirroring LLVM
IR.
Commit: df28c81f5a2b61a3b5ad1e6274dd27697a9367ac
https://github.com/llvm/llvm-project/commit/df28c81f5a2b61a3b5ad1e6274dd27697a9367ac
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/Makefile
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/TestConsecutiveWatchpoints.py
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/main.c
M lldb/tools/debugserver/source/DNBBreakpoint.cpp
Log Message:
-----------
[lldb][debugserver] Fix an off-by-one error in watchpoint identification (#134314)
debugserver takes the address of a watchpoint exception and calculates
which watchpoint was responsible for it. There was an off-by-one error
in the range calculation which causes two watchpoints on consecutive
ranges to not correctly identify hits to the second watchpoint. The
result is that lldb wouldn't show the second watchpoint as ever being
hit.
Re-landing this test with a modification to only require two
watchpoints in the test, instead of four. If four watchpoints can
be set, it will test them.
rdar://145107575
Commit: 2ac11daf92531c5de65dd645f4466c709f865a7e
https://github.com/llvm/llvm-project/commit/2ac11daf92531c5de65dd645f4466c709f865a7e
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[SCEV] Improve code around constant TC (NFC) (#133261)
Commit: 6a94bd136db9393b50bcd99f183e61c2e6e873a9
https://github.com/llvm/llvm-project/commit/6a94bd136db9393b50bcd99f183e61c2e6e873a9
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
Log Message:
-----------
[PPC] Change placeholder from `undef` to `poison` (#134552)
Call `insertelement` on a `poison` value instead of `undef`.
Commit: 3382aef944ef7a497248ef85df75ec04f6c21642
https://github.com/llvm/llvm-project/commit/3382aef944ef7a497248ef85df75ec04f6c21642
Author: amansharma612 <amansharma6122002 at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M libc/docs/porting.rst
Log Message:
-----------
[libc] Fixed typo in porting.rst (#134488)
Co-authored-by: Aman Sharma <210100011 at iitb.ac.in>
Commit: eeebdb9711a1c47b1639d1ebeac8b134f86c0634
https://github.com/llvm/llvm-project/commit/eeebdb9711a1c47b1639d1ebeac8b134f86c0634
Author: Steven Hedges <steven.hedges34 at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter1/toy.cpp
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/toy.cpp
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/toy.cpp
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/toy.cpp
Log Message:
-----------
[llvm] Fix Typo in Kaleidoscope BuildingAJIT Example (#134391)
Changed "precedecnce" to precedence.
Commit: ad9f15ab5335ed3c3c40d3c148658b8f2c4223d6
https://github.com/llvm/llvm-project/commit/ad9f15ab5335ed3c3c40d3c148658b8f2c4223d6
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
Log Message:
-----------
[VPlan] Introduce and use VPValue::replaceUsesOfWith (NFC).
Adds an API matching LLVM's IR Value, which simplifies some code a
bit.
Commit: 01bc672b8a41774feff445b07e749262597501e4
https://github.com/llvm/llvm-project/commit/01bc672b8a41774feff445b07e749262597501e4
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/test/CodeGenHLSL/cbuffer.hlsl
Log Message:
-----------
[HLSL] Desugar ConstantArrayType when calculating cbuffer field layout (#134683)
When calculating the layout for a cbuffer field, if that field is a
ConstantArrayType, desguar it before casting it to a ConstantArrayType.
Closes #134668
---------
Co-authored-by: Eli Friedman <efriedma at quicinc.com>
Commit: 9ce45579781317aade2004e970b352c0e06af291
https://github.com/llvm/llvm-project/commit/9ce45579781317aade2004e970b352c0e06af291
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll
Log Message:
-----------
[RISCV] Add coverage for reported miscompile in shuffle lowering
Derived from the example in https://github.com/llvm/llvm-project/issues/134126
Commit: 9b63a92ca723293dfe8570d1b2881ce949f1f6cc
https://github.com/llvm/llvm-project/commit/9b63a92ca723293dfe8570d1b2881ce949f1f6cc
Author: Andres Chavarria <84650073+chavandres at users.noreply.github.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
A llvm/test/Transforms/Inline/SystemZ/inline-target-attr.ll
A llvm/test/Transforms/Inline/SystemZ/lit.local.cfg
Log Message:
-----------
Implement areInlineCompatible for SystemZ using feature bitset (#132976)
## What?
Implement `areInlineCompatible` for the SystemZ target using
FeatureBitset comparison.
## Why?
The default implementation in `TargetTransformInfoImpl.h` makes a string
comparison and only inlines when the target-cpu and the target-features
for caller and callee are the same. We are missing out on optimizations
when the callee has a subset of features of the caller.
## How?
Get the FeatureBitset of the caller and callee and check when callee is
a subset or equal to the caller's features. It's a similar
implementation to ARM, PowerPC...
## Testing?
Test cases check for when the callee is a subset of the caller, when
it's not a subset and when both are equals.
Commit: ddb32a67c2e76bc0f69470a8d02a220e8083fa68
https://github.com/llvm/llvm-project/commit/ddb32a67c2e76bc0f69470a8d02a220e8083fa68
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
A llvm/test/CodeGen/AArch64/jump-table-partition.ll
Log Message:
-----------
[NFC] Add a precommit test for aarch64 jump table partitioning (#125987)
Commit: a38ad6e2a24b46eaea481c04de566dd2a45d667b
https://github.com/llvm/llvm-project/commit/a38ad6e2a24b46eaea481c04de566dd2a45d667b
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
Log Message:
-----------
[mlir][tosa] Check empty Concat input for inferReturnTypeComponents (#134728)
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 65813e0e94c0403dad61e8365b39d76d7b3bfc14
https://github.com/llvm/llvm-project/commit/65813e0e94c0403dad61e8365b39d76d7b3bfc14
Author: Tom Yang <zhenyutyang at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.cpp
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.h
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.td
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h
Log Message:
-----------
Control Darwin parallel image loading with target.parallel-module-load (#134437)
A requested follow-up from
https://github.com/llvm/llvm-project/pull/130912 by @JDevlieghere to
control Darwin parallel image loading with the same
`target.parallel-module-load` that controls the POSIX dyld parallel
image loading. Darwin parallel image loading was introduced by
https://github.com/llvm/llvm-project/pull/110646.
This small change:
* removes
`plugin.dynamic-loader.darwin.experimental.enable-parallel-image-load`
and associated code.
* changes setting call site in
`DynamicLoaderDarwin::PreloadModulesFromImageInfos` to use the new
setting.
Tested by running `ninja check-lldb` and loading some targets.
Co-authored-by: Tom Yang <toyang at fb.com>
Commit: 0afa872a0db41cba313df473aa3fea52a35c8e70
https://github.com/llvm/llvm-project/commit/0afa872a0db41cba313df473aa3fea52a35c8e70
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/test/CodeGen/DirectX/saturate.ll
Log Message:
-----------
[DirectX] Scalarize the dx.saturate intrinsic (#134381)
The DXIL Saturate op only takes scalars.
Fixes #134378.
Commit: 99d12ac172f34e4963cf3a36536719149d30d788
https://github.com/llvm/llvm-project/commit/99d12ac172f34e4963cf3a36536719149d30d788
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Fix build after 65813e0e94c0403dad61e8365b39d76d7b3bfc14
Commit: d7354e337a4602da1e5913b3e6fceda2e8c5ecc0
https://github.com/llvm/llvm-project/commit/d7354e337a4602da1e5913b3e6fceda2e8c5ecc0
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/revec-shufflevector.ll
Log Message:
-----------
[SLP][REVEC] Fix ShuffleVector does not consider alternate instruction. (#134599)
Commit: 1f359610b048ae31e5ea3a0416f55405ff398753
https://github.com/llvm/llvm-project/commit/1f359610b048ae31e5ea3a0416f55405ff398753
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
Log Message:
-----------
ObjCARC: Drop pointer bitcast handling (#134274)
There is more in the file to drop, but this looks like the easier
part.
Commit: 735f5b1cb45c4245f1c068dda8271142457925ec
https://github.com/llvm/llvm-project/commit/735f5b1cb45c4245f1c068dda8271142457925ec
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaTemplate/dependent-names.cpp
Log Message:
-----------
[clang] fix DependentTemplateSpecializationType transform (#134748)
This changes the transform for DTST so it rebuilds the node if any of
the template arguments changed.
This fixes a regression reported here:
https://github.com/llvm/llvm-project/pull/133610#issuecomment-2784576267
which was introduced by https://github.com/llvm/llvm-project/pull/133610
There are no release notes since the regression was never released.
Commit: 1356e202b2b2747220e12c2a8cbd28846bb61548
https://github.com/llvm/llvm-project/commit/1356e202b2b2747220e12c2a8cbd28846bb61548
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/BPF/BPFMIChecking.cpp
M llvm/lib/Target/BPF/BPFMIPeephole.cpp
M llvm/lib/Target/BPF/BPFMISimplifyPatchable.cpp
M llvm/lib/Target/BPF/BPFTargetMachine.cpp
Log Message:
-----------
[NFC][LLVM][BPF] Cleanup pass initialization for BPF (#134414)
- Remove calls to pass initialization from pass constructors and move
them to target initialization.
- https://github.com/llvm/llvm-project/issues/111767
Commit: a3754ade637f71d36495eb95ea2d8cab9885c9d9
https://github.com/llvm/llvm-project/commit/a3754ade637f71d36495eb95ea2d8cab9885c9d9
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUExportClustering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelDivergenceLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMachineModuleInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMarkLastScratchLoad.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.cpp
M llvm/lib/Target/AMDGPU/AMDGPUReserveWWMRegs.cpp
M llvm/lib/Target/AMDGPU/AMDGPURewriteUndefForPHI.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp
M llvm/lib/Target/AMDGPU/R600.h
M llvm/lib/Target/AMDGPU/R600EmitClauseMarkers.cpp
M llvm/lib/Target/AMDGPU/R600MachineCFGStructurizer.cpp
Log Message:
-----------
[NFC][LLVM][AMDGPU] Cleanup pass initialization for AMDGPU (#134410)
- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767
Commit: 707367621679742eae0e903470a5fe043424c698
https://github.com/llvm/llvm-project/commit/707367621679742eae0e903470a5fe043424c698
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
Log Message:
-----------
[NFC][LLVM][DirectX] Cleanup pass initialization for DirectX (#134419)
- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767
Commit: 87afe4de22f24c81d6eca8c2ecdec5e57d6a961a
https://github.com/llvm/llvm-project/commit/87afe4de22f24c81d6eca8c2ecdec5e57d6a961a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
OMPIRBuilder: Cleanup checking for GlobalValue (#134583)
GlobalValue already subsumes GlobalObject and GlobalVariable,
plus make use of the std::get<0> already copied to a variable
above.
Commit: 8286b804d519d045fa1ee3a1a2e7fae66e5e30ef
https://github.com/llvm/llvm-project/commit/8286b804d519d045fa1ee3a1a2e7fae66e5e30ef
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/ReplaceConstant.cpp
Log Message:
-----------
OMPIRBuilder: Do not try to expand uses of ConstantData (#134584)
Commit: 76e219d9c3b46e0cc1813e1e8452da0f4f54ab92
https://github.com/llvm/llvm-project/commit/76e219d9c3b46e0cc1813e1e8452da0f4f54ab92
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
A llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/lower-gep.ll
Log Message:
-----------
SeparateConstOffsetFromGEP: Add more tests with lower-gep (#134684)
I didn't see any failures while trying to break hasMoreThanOneUseInLoop
or other paths here.
Commit: 1a9928442b7dbcd596d6b577809c22330706ccb5
https://github.com/llvm/llvm-project/commit/1a9928442b7dbcd596d6b577809c22330706ccb5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/lower-gep.ll
Log Message:
-----------
SeparateConstOffsetFromGEP: Avoid looking at constant uses (#134685)
We could be more aggressive and inspect uses of global variables,
if the use context instruction is in the same function.
Commit: a168ddc470825091ad52da12042fb38491ed81d6
https://github.com/llvm/llvm-project/commit/a168ddc470825091ad52da12042fb38491ed81d6
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Dialect/LLVMIR/blockaddress-canonicalize.mlir
M mlir/test/Dialect/LLVMIR/constant-folding.mlir
M mlir/test/Dialect/LLVMIR/inlining.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
A mlir/test/Target/LLVMIR/Import/blockaddress.ll
M mlir/test/Target/LLVMIR/Import/import-failure.ll
A mlir/test/Target/LLVMIR/blockaddress.mlir
Log Message:
-----------
[MLIR][LLVM] Block address support (#134335)
Add support for import and translate.
MLIR does not support using basic block references outside a function
(like LLVM does), This PR does not consider changes to MLIR to that
respect. It instead introduces two new ops: `llvm.blockaddress` and
`llvm.blocktag`. Here's an example:
```
llvm.func @ba() -> !llvm.ptr {
%0 = llvm.blockaddress <function = @ba, tag = <id = 1>> : !llvm.ptr
llvm.br ^bb1
^bb1: // pred: ^bb0
llvm.blocktag <id = 1>
llvm.return %0 : !llvm.ptr
}
```
Value `%0` hold the address of block tagged as `id = 1` in function
`@ba`. Block tags need to be unique within a function and use of
`llvm.blockaddress` requires a matching tag in a `llvm.blocktag`.
Commit: 80fde75dc6c50a7d32f6dbfda9a6f2c24890b5cc
https://github.com/llvm/llvm-project/commit/80fde75dc6c50a7d32f6dbfda9a6f2c24890b5cc
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZCopyPhysRegs.cpp
M llvm/lib/Target/SystemZ/SystemZElimCompare.cpp
M llvm/lib/Target/SystemZ/SystemZLDCleanup.cpp
M llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
M llvm/lib/Target/SystemZ/SystemZPostRewrite.cpp
M llvm/lib/Target/SystemZ/SystemZShortenInst.cpp
M llvm/lib/Target/SystemZ/SystemZTDC.cpp
Log Message:
-----------
[NFC][LLVM][SystemZ] Cleanup pass initialization for SystemZ (#134450)
- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767
Commit: 20eb60d3f2d416976b1b31384e97db21ee0f28c9
https://github.com/llvm/llvm-project/commit/20eb60d3f2d416976b1b31384e97db21ee0f28c9
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchExpandAtomicPseudoInsts.cpp
M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.h
Log Message:
-----------
[NFC][LLVM] Cleanup pass initialization for wasm/LoongArch (#134452)
- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767
Commit: bb1f32ded0b7bec3b69c30b1c21eb1210372cd7f
https://github.com/llvm/llvm-project/commit/bb1f32ded0b7bec3b69c30b1c21eb1210372cd7f
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/include/llvm/PassSupport.h
Log Message:
-----------
[NFC][LLVM] Change `initialize<PassName>PassOnce` to return void (#134500)
- The return value of these functions (called using `llvm::call_once`)
is never used, so make these functions return void.
Commit: 3f4e4e0a12c523f3d794f015ca7f40bcfc0ed8f5
https://github.com/llvm/llvm-project/commit/3f4e4e0a12c523f3d794f015ca7f40bcfc0ed8f5
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M flang/module/cudadevice.f90
Log Message:
-----------
[flang][cuda] Add on_device interface to cudadevice (#134747)
Commit: 3a0c95fb506301fdd083b6e5dff0a0c88da4a665
https://github.com/llvm/llvm-project/commit/3a0c95fb506301fdd083b6e5dff0a0c88da4a665
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/reduce-conditionals.ll
M llvm/tools/llvm-reduce/deltas/ReduceUsingSimplifyCFG.cpp
M llvm/tools/llvm-reduce/deltas/Utils.cpp
M llvm/tools/llvm-reduce/deltas/Utils.h
Log Message:
-----------
llvm-reduce: Fix introducing unreachable code in simplify conditionals (#133842)
After replacing the branch condition, this was calling simplifyCFG to
perform the cleanups of the branch. This is far too heavy of a hammer.
We do not want all of the extra optimizations in simplifyCFG, and
this could also leave behind dead code. Instead, minimally fold the
terminator and try to delete the newly dead code.
This is pretty much a direct copy of what bugpoint does.
Commit: d057811655d8de3900748bba03d0c7ebcb6fafe3
https://github.com/llvm/llvm-project/commit/d057811655d8de3900748bba03d0c7ebcb6fafe3
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/Basic/Diagnostic.h
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
M clang/test/SemaTemplate/instantiate-expanded-type-constraint.cpp
M clang/test/SemaTemplate/instantiate-requires-expr.cpp
M clang/test/SemaTemplate/trailing-return-short-circuit.cpp
M libcxx/test/libcxx/algorithms/cpp17_iterator_concepts.verify.cpp
Log Message:
-----------
[clang] fix diagnostic printing of expressions ignoring LangOpts (#134693)
Currently when printing a template argument of expression type, the
expression is converted immediately into a string to be sent to the
diagnostic engine, unsing a fake LangOpts.
This makes the expression printing look incorrect for the current
language, besides being inneficient, as we don't actually need to print
the expression if the diagnostic would be ignored.
This fixes a nastiness with the TemplateArgument constructor for
expressions being implicit, and all current users just passing an
expression to a diagnostic were implicitly going through the template
argument path.
The expressions are also being printed unquoted. This will be fixed in a
subsequent patch, as the test churn is much larger.
Commit: 499930e38a814d4fb8227d9ab48a946658650e12
https://github.com/llvm/llvm-project/commit/499930e38a814d4fb8227d9ab48a946658650e12
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/sources.gni
Log Message:
-----------
gn build: Spell arm64 correctly.
Commit: 5aae0ee660ffdae057d7c5c0e851b5620586d042
https://github.com/llvm/llvm-project/commit/5aae0ee660ffdae057d7c5c0e851b5620586d042
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
Log Message:
-----------
[clang-tidy] give dummy path when create ClangTidyContext (#134670)
#121323 changed the way the absolute path is computed. Empty file name
will cause absolute path ignore current folder.
This patch add "dummy" file name to avoid this issue
Fixed: #134502
Commit: 6a3e5f89bb89548fb39ca241c8ed7c2005a190f1
https://github.com/llvm/llvm-project/commit/6a3e5f89bb89548fb39ca241c8ed7c2005a190f1
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Transforms/IPO/ElimAvailExtern.cpp
M llvm/test/Analysis/CtxProfAnalysis/load.ll
A llvm/test/Analysis/CtxProfAnalysis/pruning.ll
M llvm/test/Transforms/EliminateAvailableExternally/transform-to-local.ll
Log Message:
-----------
[ctxprof] Only prune the profile in modules containing only context trees (#134340)
We will subsequently treat the whole profile as "flat" in the frontend, (i.e flatten and combine with the flat profile section), so we can have a profile for ThinLTO for parts of the application that don't come under the contextual profile. After ThinLTO, we will treat the module(s) containing contextual trees differently: they'll have only the contextual profile pertinent to them. The rest of the modules (non-contextual) will proceed "as usual", off the flattened profile.
This patch implements pruning of the contextual profile to enable the above.
Commit: f1bb2fe3562d2fe9a43c79ec8af908fdff23a33a
https://github.com/llvm/llvm-project/commit/f1bb2fe3562d2fe9a43c79ec8af908fdff23a33a
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/ModuleInliner.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/test/Analysis/CtxProfAnalysis/handle-select.ll
M llvm/test/Analysis/CtxProfAnalysis/inline.ll
Log Message:
-----------
[ctxprof] Use `isInSpecializedModule` as criteria for using contextual profile (#134468)
After #134340, the availability of contextual profile isn't in itself an indication of compiling the module containing all the functions covered by that profile.
Commit: ac42b083f104442e12393ff09929a1add881010d
https://github.com/llvm/llvm-project/commit/ac42b083f104442e12393ff09929a1add881010d
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
A clang/test/Modules/fmodule-file-mismatch.cppm
Log Message:
-----------
[clang][modules] Guard against bad -fmodule-file mappings (#132059) (#133462)
Fix https://github.com/llvm/llvm-project/issues/132059.
Providing incorrect mappings via `-fmodule-file=<name>=<path/to/bmi>`
can crash the compiler when loading a module that imports an
incorrectly mapped module.
The crash occurs during AST body deserialization, when the compiler
attempts to resolve remappings using the `ModuleFile` from the
incorrectly mapped module's BMI file.
The cause is an invalid access into an incorrectly loaded
`ModuleFile`.
This commit fixes the issue by verifying the identity of the imported
module.
Commit: 49d6e39eba88fdf7975c6f4dcb38595538331e6a
https://github.com/llvm/llvm-project/commit/49d6e39eba88fdf7975c6f4dcb38595538331e6a
Author: Shoreshen <372660931 at qq.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.160bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.16bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.192bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.224bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.288bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.32bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.352bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.384bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.448bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
R llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ll
A llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ptr.ll
Log Message:
-----------
[AMDGPU] add tests for loop definition of bitconvert (#133052)
This PR add test cases for all types of bit conversation, it prepares
for PR: https://github.com/llvm/llvm-project/pull/132899
All tests passed due to:
1. For DAG, pattern will not separate SReg and VReg. One of the sample
is:
```
define <2 x double> @v_bitcast_v4f32_to_v2f64(<4 x float> inreg %a, i32
%b) {
%cmp = icmp eq i32 %b, 0
br i1 %cmp, label %cmp.true, label %cmp.false
cmp.true:
%a1 = fadd <4 x float> %a, splat (float 1.000000e+00)
%a2 = bitcast <4 x float> %a1 to <2 x double>
br label %end
cmp.false:
%a3 = bitcast <4 x float> %a to <2 x double>
br label %end
end:
%phi = phi <2 x double> [ %a2, %cmp.true ], [ %a3, %cmp.false ]
ret <2 x double> %phi
}
```
It suppose to select from scalar register patterns. But the Vreg pattern
is matched is as follow:
```
Debug log:
ISEL: Starting selection on root node: t3: v2f64 = bitcast t2
ISEL: Starting pattern match
Initial Opcode index to 440336
Skipped scope entry (due to false predicate) at index 440339, continuing
at 440367
Skipped scope entry (due to false predicate) at index 440368, continuing
at 440396
Skipped scope entry (due to false predicate) at index 440397, continuing
at 440435
Skipped scope entry (due to false predicate) at index 440436, continuing
at 440467
Skipped scope entry (due to false predicate) at index 440468, continuing
at 440499
Skipped scope entry (due to false predicate) at index 440500, continuing
at 440552
Skipped scope entry (due to false predicate) at index 440553, continuing
at 440587
Skipped scope entry (due to false predicate) at index 440588, continuing
at 440622
Skipped scope entry (due to false predicate) at index 440623, continuing
at 440657
Skipped scope entry (due to false predicate) at index 440658, continuing
at 440692
Skipped scope entry (due to false predicate) at index 440693, continuing
at 440727
Skipped scope entry (due to false predicate) at index 440728, continuing
at 440769
Skipped scope entry (due to false predicate) at index 440770, continuing
at 440798
Skipped scope entry (due to false predicate) at index 440799, continuing
at 440836
Skipped scope entry (due to false predicate) at index 440837, continuing
at 440870
TypeSwitch[v2f64] from 440873 to 440892
Patterns:
/*440892*/ OPC_CompleteMatch, 1, 0,
// Src: (bitconvert:{ *:[v2f64] } VReg_128:{ *:[v4f32] }:$src0) -
Complexity = 3
// Dst: VReg_128:{ *:[v2f64] }:$src0
```
2. Global isel will use `Select_COPY` to select bitcast
Commit: bdd087023f02fb377302595bf7f61e9cae8adb71
https://github.com/llvm/llvm-project/commit/bdd087023f02fb377302595bf7f61e9cae8adb71
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/AST/ByteCode/arrays.cpp
Log Message:
-----------
[clang][bytecode] Fix various issues with multidimensional arrays (#134628)
This issue is very convoluted, but in essence, in the new version:
For a Pointer P that points to the root of a multidimensional, primitive
array:
`P.narrow()` does nothing.
`P.atIndex(0)` points `P[0]`
`P.atIndex(0).atIndex(0)` is the same as `P.atIndex(0)` (as before)
`P.atIndex(0).narrow().atIndex(0)` points to `P[0][0]`
`P.atIndex(0).narrow().narrow()` is the same as `P.atIndex(0).narrow()`.
Commit: fb9915a3918e3a9659a7f2825ee35bada3a2baf1
https://github.com/llvm/llvm-project/commit/fb9915a3918e3a9659a7f2825ee35bada3a2baf1
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/cxx17.cpp
Log Message:
-----------
[clang][bytecode] Fix emitDestruction() for dummy descriptors (#134665)
This might happen if the referenced declaration is invalid and thus gets
a dummy descriptor. We ran into an assertion later on.
Commit: 65cede26a6b06ba02c08284fada06c46c0289704
https://github.com/llvm/llvm-project/commit/65cede26a6b06ba02c08284fada06c46c0289704
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/cxx23.cpp
Log Message:
-----------
[clang][bytecode] Fix emitting dtors of zero-sized arrays (#134672)
Desc->getNumElems() returning 0 made us underflow here.
Commit: 642481a4286c9006958274531ee173b347866c50
https://github.com/llvm/llvm-project/commit/642481a4286c9006958274531ee173b347866c50
Author: Aniket Lal <lalaniket8 at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/GlobalDecl.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/Mangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTypes.h
M clang/lib/CodeGen/TargetInfo.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-printf.cl
M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue.cl
M clang/test/CodeGenOpenCL/enqueue-kernel-non-entry-block.cl
M clang/test/CodeGenOpenCL/implicit-addrspacecast-function-parameter.cl
M clang/test/CodeGenOpenCL/kernel-arg-info.cl
A clang/test/CodeGenOpenCL/opencl-kernel-call.cl
M clang/test/CodeGenOpenCL/reflect.cl
M clang/test/CodeGenOpenCL/sampler.cl
M clang/test/CodeGenOpenCL/spir-calling-conv.cl
M clang/test/CodeGenOpenCL/visibility.cl
M clang/test/CodeGenOpenCLCXX/addrspace-of-this.clcpp
M clang/test/Frontend/amdgcn-machine-analysis-remarks.cl
Log Message:
-----------
[Clang][OpenCL][AMDGPU] Allow a kernel to call another kernel (#115821)
This feature is currently not supported in the compiler.
To facilitate this we emit a stub version of each kernel
function body with different name mangling scheme, and
replaces the respective kernel call-sites appropriately.
Fixes https://github.com/llvm/llvm-project/issues/60313
D120566 was an earlier attempt made to upstream a solution
for this issue.
---------
Co-authored-by: anikelal <anikelal at amd.com>
Commit: 0d19efa9d5d872962a0a83c865b4636d58f46519
https://github.com/llvm/llvm-project/commit/0d19efa9d5d872962a0a83c865b4636d58f46519
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/test/CodeGen/AArch64/constant-pool-partition.ll
M llvm/test/CodeGen/X86/constant-pool-partition.ll
M llvm/test/CodeGen/X86/global-variable-partition.ll
M llvm/test/CodeGen/X86/jump-table-partition.ll
Log Message:
-----------
[NFC]In codegen pipeline, turn static-data-splitter pass on/off with its own option (#134752)
Per discussion in
https://github.com/llvm/llvm-project/pull/129781#discussion_r2017489088,
we'd like to refactor out the requirement of MFS.
Commit: 2c1bdd4a0811af89eb9631935fbd90f13a04eacb
https://github.com/llvm/llvm-project/commit/2c1bdd4a0811af89eb9631935fbd90f13a04eacb
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Options.td
M lld/ELF/Writer.cpp
M lld/docs/ReleaseNotes.rst
A lld/test/ELF/aarch64-execute-only-mixed.s
M lld/test/ELF/aarch64-execute-only.s
A lld/test/ELF/arm-execute-only-mixed.s
M lld/test/ELF/arm-execute-only.s
Log Message:
-----------
[LLD][ELF] Allow merging XO and RX sections, and add `--[no-]xosegment` flag (#132412)
Following from the discussion in #132224, this seems like the best
approach to deal with a mix of XO and RX output sections in the same
binary. This change will also simplify the implementation of the
PURECODE section flag for AArch64.
To control this behaviour, the `--[no-]xosegment` flag is added to LLD
(similarly to `--[no-]rosegment`), which determines whether to allow
merging XO and RX sections in the same segment. The default value is
`--no-xosegment`, which is a breaking change compared to the previous
behaviour.
Release notes are also added, since this will be a breaking change.
Commit: 03f21e2ba3be6cec4cfe2441142cca16a6d1d528
https://github.com/llvm/llvm-project/commit/03f21e2ba3be6cec4cfe2441142cca16a6d1d528
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Update initializes definition (#134370)
Specify the initializes attribute in terms of an "initialized" shadow
state, such that:
* Loads prior to initialization return poison.
* Bytes that are not explicitly initialized are written with undef on
function return.
This is intended to preserve the core semantics of the attribute, but
adjusts the wording in a way that is compatible with existing
optimizations, such as insertion of spurious loads and removal of
uninitialized writes.
Fixes https://github.com/llvm/llvm-project/issues/133038.
Fixes https://github.com/llvm/llvm-project/issues/133059.
Commit: 8a53cc8ce5e9ac602d4726c0a24e53499d3522fb
https://github.com/llvm/llvm-project/commit/8a53cc8ce5e9ac602d4726c0a24e53499d3522fb
Author: Shoreshen <372660931 at qq.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.160bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.16bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.192bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.224bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.288bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.32bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.352bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.384bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.448bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ptr.ll
Log Message:
-----------
remove failed test (#134793)
function `bitcast_v64i16_to_v128i8` in newly added test file
`llvm-project/llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll` from
PR:https://github.com/llvm/llvm-project/pull/133052 failed in expansive
check. (passes normal lit check)
remove it for now
Commit: 308654608cb8bc5bbd5d4b3779cb7d92920dd6b7
https://github.com/llvm/llvm-project/commit/308654608cb8bc5bbd5d4b3779cb7d92920dd6b7
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CodeGenFunction.h
Log Message:
-----------
[Clang][NFC] Move some static functions into CodeGenFunction (#134634)
Patches in the Key Instructions (KeyInstr) stack need to access CGF in these
functions. 2 CGF fields are passed to these functions already; at this point it
felt natural to promote them to CGF methods.
Commit: 87a187cedf09be0d7d1fa6eae1a8b644ee15db12
https://github.com/llvm/llvm-project/commit/87a187cedf09be0d7d1fa6eae1a8b644ee15db12
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.h
M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaLayerwiseConstantFoldPass.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaOptionalDecompositions.cpp
Log Message:
-----------
[MLIR][NFC] Retire let constructor for Tosa (#134784)
`let constructor` is legacy (do not use in tree!) since the tableGen
backend emits most of the glue logic to build a pass.
Commit: e7365d3143d762c290c426b172f588756b6f1ef8
https://github.com/llvm/llvm-project/commit/e7365d3143d762c290c426b172f588756b6f1ef8
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/include/mlir/Reducer/Passes.h
M mlir/include/mlir/Reducer/Passes.td
M mlir/lib/Reducer/OptReductionPass.cpp
M mlir/lib/Reducer/ReductionTreePass.cpp
Log Message:
-----------
[MLIR][NFC] Retire let constructor for Reducer (#134786)
let constructor is legacy (do not use in tree!) since the tableGen
backend emits most of the glue logic to build a pass.
Commit: 0df0906af67fe81c0cc3ed6230518f4314884389
https://github.com/llvm/llvm-project/commit/0df0906af67fe81c0cc3ed6230518f4314884389
Author: tianleliu <tianle.l.liu at intel.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
A llvm/test/Transforms/JumpThreading/thread-prob-8.ll
Log Message:
-----------
[JumpThreading] Use [BB->SuccIndx] to get probability when updating BB info. (#134585)
In case the same src BB targets to the same dest BB in different
conditions/edges, such as switch-cases, we should use
prob[SrcBB->SuccIndx] instead of prob[SrcBB->DstBB] to get probability.
Commit: ccdc44f643e5158391e618593950927dd1a02e5b
https://github.com/llvm/llvm-project/commit/ccdc44f643e5158391e618593950927dd1a02e5b
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/test/Dialect/Tosa/tosa-reduce-transposes.mlir
Log Message:
-----------
[mlir][tosa] Remove perms input for tosa.transpose tests (#134740)
Perms is now an attribute, not input.
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: f4328d0d3aee682e77ce070e1835158193dd8dcd
https://github.com/llvm/llvm-project/commit/f4328d0d3aee682e77ce070e1835158193dd8dcd
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-decompose-transpose-conv.mlir
Log Message:
-----------
[mlir][tosa] Remove out_shape attribute from transpose_2d attributes (#134743)
out_shape is no longer an attribute
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: f0bdeb4b6aa1ee0653aed8323a5a7485fb930a05
https://github.com/llvm/llvm-project/commit/f0bdeb4b6aa1ee0653aed8323a5a7485fb930a05
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/test/Dialect/Tosa/ops.mlir
Log Message:
-----------
[mlir][tosa] Cleanup ops.mlir (#134751)
* add missing CHECK-LABEL
* removed whitespace for consistency
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: bb5006169f9f72a87b4358356976e0fa33353728
https://github.com/llvm/llvm-project/commit/bb5006169f9f72a87b4358356976e0fa33353728
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
Log Message:
-----------
[CodeGen] Change placeholder from `undef` to `poison` (#134731)
Fill default values of a map with `poison` instead of `undef`. There
should be no functional difference as the default values are overridden
later.
Commit: e1fc118f3a2f3fb91a3045ce37a5259430594afc
https://github.com/llvm/llvm-project/commit/e1fc118f3a2f3fb91a3045ce37a5259430594afc
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/utils/git/code-format-helper.py
Log Message:
-----------
[CI] Reduce false positives in undef checker (#134687)
Only check for diffs containing "undef" in .ll files, this prevents
comments like `// We should not have undef values...` triggering the
undef checker bot.
Commit: 93505f8e0e702f470fdc37ea9a9ca5f04d011c19
https://github.com/llvm/llvm-project/commit/93505f8e0e702f470fdc37ea9a9ca5f04d011c19
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/debuginfo-invoke.ll
Log Message:
-----------
[DebugInfo][InstCombine] Propagate DILocation when noop-ing invoke (#134678)
In InstCombine we may decide that an alloc is removable, and the alloc
fn is called by an InvokeInst, we replace that InvokeInst with a invoke
of a noop intrinsic; this patch has us also copy the original invoke's
DILocation to the new noop invoke.
Found using https://github.com/llvm/llvm-project/pull/107279.
Commit: 9d82ab8a8222f22048074488d5036ae5228088c5
https://github.com/llvm/llvm-project/commit/9d82ab8a8222f22048074488d5036ae5228088c5
Author: David Green <david.green at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/test/Analysis/BasicAA/noalias-inttoptr.ll
Log Message:
-----------
[BasicAA] Add some test cases for coerced function args
Commit: c23e1cb9362067d3565a78590db8c5e68b74cf17
https://github.com/llvm/llvm-project/commit/c23e1cb9362067d3565a78590db8c5e68b74cf17
Author: David Green <david.green at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/test/Analysis/BasicAA/noalias-inttoptr.ll
Log Message:
-----------
[BasicAA] Treat ExtractValue(Argument) similar to Argument in relation to function-local objects. (#134716)
This is a much smaller, technically orthogonal patch similar to #134505. It
states that a extractvalue(Argument) can be treated like an Argument for alias
analysis, where the extractelement acts like a phi / copy. No inttoptr here.
Commit: fe4f66636300e908e29f6caa69e0bda6d0d6422c
https://github.com/llvm/llvm-project/commit/fe4f66636300e908e29f6caa69e0bda6d0d6422c
Author: Nathan Gauër <brioche at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Always upload queue/running count (#134814)
Before this commit, we only pushed a queue/running count when the value
was not zero. This makes building Grafana alerting a bit harder.
Changing this to always upload a value for watched workflows.
Commit: 446d4f51eb1a172776e69ffb51b5972a0225c0a1
https://github.com/llvm/llvm-project/commit/446d4f51eb1a172776e69ffb51b5972a0225c0a1
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/clause-cleanup.f90
Log Message:
-----------
[flang][OpenMP][Lower] fix statement context cleanup insertion point (#133891)
The statement context is used for lowering clauses for openmp operations
using generalised helpers from flang lowering. The statement context
stores closures which generate code for cleaning up temporary values
generated by the lowering helper. These closures are run when the
statement construct is destroyed. Keeping the statement context local to
the clause or operation being lowered without any special handling was
not correct because any cleanup code would be generated at the insertion
point when that statement context went out of scope (which would in
general be inside of the newly created container operation). It would be
better to generate the cleanup code after the newly created operation
(clause processing is synchronous even for deferred tasks).
Currently supported clauses are mostly populated with simple scalar
values that require no cleanup. Even the simple array sections added by
#132994 needed no cleanup because indexing the right values of the array
did not create any temporaries. Supporting array sections with vector
indexing will generate hlfir.destroy operations for cleanup. This patch
fixes where those will be created. Those hlfir.destroy operations don't
generate any FIR (or LLVM) code, but the issue still exists
theoretically.
I wasn't able to find any clauses which have any cleanup to use to test
this PR. It is probably NFC for the current lowering. This will be
tested in [the PR adding vector subscripting of array
sections](https://github.com/llvm/llvm-project/pull/133892).
Commit: 4c09ae0b2ed6a99e4e69ec9e0507c26cdcc301a9
https://github.com/llvm/llvm-project/commit/4c09ae0b2ed6a99e4e69ec9e0507c26cdcc301a9
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/cancel.f90
A flang/test/Lower/OpenMP/cancellationpoint.f90
Log Message:
-----------
[flang][OpenMP] Lowering for CANCEL and CANCELLATIONPOINT (#134248)
These will still hit TODOs in OpenMPToLLVMIRConversion.cpp
Commit: a5509d62a71995ad3346dac4ef226b5a670d995f
https://github.com/llvm/llvm-project/commit/a5509d62a71995ad3346dac4ef226b5a670d995f
Author: Jakub Ficek <jakub.ficek at intel.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/test/CodeGen/pragma-fenv_access.c
Log Message:
-----------
[clang] fp options fix for __builtin_convertvector (#134102)
Add missing CGFPOptionsRAII for fptoi and itofp cases
Commit: 6f93c0676f80919c5f96e8c25dad95c159a0b336
https://github.com/llvm/llvm-project/commit/6f93c0676f80919c5f96e8c25dad95c159a0b336
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU] Make a few WaitcntBrackets methods const. NFC. (#134824)
Commit: 6a42fb8fbfc075f28fa7d1d70bb51aef7f18e2f9
https://github.com/llvm/llvm-project/commit/6a42fb8fbfc075f28fa7d1d70bb51aef7f18e2f9
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Clarify code in isPredicatedInst (NFC) (#134251)
Commit: ff5b649a843a0c1be9dc59612411a1693c95d651
https://github.com/llvm/llvm-project/commit/ff5b649a843a0c1be9dc59612411a1693c95d651
Author: MisakaVan <102937903+MisakaVan at users.noreply.github.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
[libc++] Fix a comment typo in __tree (#134831)
"Returns true **is** __root is a proper red black tree"
->
"Returns true **if** __root is a proper red black tree"
Commit: 8521bd2424bf144ce1d176a3c93d414c4c138104
https://github.com/llvm/llvm-project/commit/8521bd2424bf144ce1d176a3c93d414c4c138104
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
Log Message:
-----------
[BOLT][AArch64] Handle PAuth call instructions in isIndirectCall (#133227)
Handle `BLRA*` opcodes in AArch64MCPlusBuilder::isIndirectCall, update
getRegUsedAsCallDest accordingly.
Commit: 83fbe6798605c7b1ebec1287f90a41949cb1d235
https://github.com/llvm/llvm-project/commit/83fbe6798605c7b1ebec1287f90a41949cb1d235
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
Log Message:
-----------
[X86] combineX86ShufflesRecursively - iteratively peek through bitcasts to free subvector widening/narrowing sources. (#134701)
Generalizes the existing code to repeatedly peek though mixed bitcast/insert_subvector/extract_subvector chains to find the source of the shuffle operand.
Commit: 1997073a547528f94b11a111a2eae3676a216127
https://github.com/llvm/llvm-project/commit/1997073a547528f94b11a111a2eae3676a216127
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul-idempotency.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul_u-idempotency.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul-idempotency.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul_u-idempotency.ll
A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-binop.ll
Log Message:
-----------
[LLVM][InstCombine][SVE] Refactor sve.mul/fmul combines. (#134116)
After https://github.com/llvm/llvm-project/issues/126928 it's now
possible to rewrite the existing combines, which mostly only handle
cases where a operand is an identity value, to use existing simplify
code to unlock general constant folding.
Commit: 7af2b51e761f49974a64c3009882239cea618f2a
https://github.com/llvm/llvm-project/commit/7af2b51e761f49974a64c3009882239cea618f2a
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64BranchTargets.cpp
M llvm/test/CodeGen/AArch64/patchable-function-entry-bti.ll
Log Message:
-----------
[AArch64][v8.5A] Omit BTI for non-addr-taken static fns on Linux (#134669)
This is a conditional revert of cca40aa8d8aa732, which made LLVM's
branch-target-enforcement mode generate BTI at the start of _every_
function, even in the case where the function has internal linkage and
its address is never taken for use in an indirect call.
The rationale was that it might turn out at link time that a direct call
to the function spanned a larger distance than the range of a BL
instruction (say, if the translation unit generated multiple code
sections and the linker put them a very long way apart). Then the linker
might insert a long-branch thunk using an indirect call instruction.
SYSVABI64 has now clarified that in this situation the static linker may
not assume that the target function is safe to call directly. If it
needs to use this strategy, it's responsible for also generating a
'landing pad' near the target function, with a BTI followed by a direct
branch, and using that as the target of the long-distance indirect call.
https://github.com/ARM-software/abi-aa/commit/606ce44fe4d3419c15cd9ed598f18fb5d520fcfc
LLD complies with this spec as of commit 098b0d18add97de.
So if we're compiling in a mode that respects SYSVABI64, such as
targeting Linux, it's safe to leave out the BTI at the start of a
function with internal linkage if we can prove that its address isn't
either used in an indirect call in _this_ translation unit or passed out
of the object.
Therefore, this patch goes back to the behavior before cca40aa8d8aa732,
leaving out BTIs in functions that can't be called indirectly, but only
if the target triple is Linux. (I wasn't able to find a more precise
query for "is this a SYSVABI64-compliant platform?", but Linux certainly
is, and this check at least fails in the safe direction - if in doubt,
we put in all the BTIs that might be necessary.)
Commit: 204d8c0d588b647e63d925705a7fe12c47242fc9
https://github.com/llvm/llvm-project/commit/204d8c0d588b647e63d925705a7fe12c47242fc9
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x1.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x1.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x2.c
Log Message:
-----------
[clang][llvm] Fix AArch64 MOP4{A/S} intrinsic tests (NFC) (#134746)
Fix some of the recently-added tests (PRs #127797, #128854, #129226 and
#129230) which were incorrectly defined.
Commit: 739062d2c3b6c21264c415575da47bf59f1dafe3
https://github.com/llvm/llvm-project/commit/739062d2c3b6c21264c415575da47bf59f1dafe3
Author: Nathan Gauër <brioche at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
A llvm/test/CodeGen/SPIRV/pointers/getelementptr-downcast-struct.ll
Log Message:
-----------
[SPIR-V] Add spv.gep support for ptrcast legal (#134388)
Adds support the the spv.gep intrinsic to the spv ptrcast legalization
step. Those intrinsics are generated by the backend thus not directly
visible in the tests.
This is a pre-requisite to implement addrspacecast legalization for
logical SPIR-V.
Commit: 483edfeeb55420d509671406b889eadcce24114c
https://github.com/llvm/llvm-project/commit/483edfeeb55420d509671406b889eadcce24114c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++] Use __add_pointer and __remove_pointer builtins when they are fixed (#134147)
Commit: e06a9ca2cb596c19c23c32a248e1b3b69d7e4c4f
https://github.com/llvm/llvm-project/commit/e06a9ca2cb596c19c23c32a248e1b3b69d7e4c4f
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-loads.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll
Log Message:
-----------
[LLVM][CodeGen][SVE] Improve lowering of fixed length masked mem ops. (#134402)
Converting fixed length masks, as used by MLOAD, to scalable vectors is
done by comparing the mask to zero. When the mask is the result of a
compare we can instead promote the operands and regenerate the original
compare. At worst this reduces the dependecy chain and in most cases
removes the need for multiple compares.
Commit: e8dc8add3c04517e673d9dff342a60001c85dc1a
https://github.com/llvm/llvm-project/commit/e8dc8add3c04517e673d9dff342a60001c85dc1a
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang/CMakeLists.txt
M llvm/CMakeLists.txt
Log Message:
-----------
[CMake] Fix using precompiled headers with ccache (#131397)
Using precompiled headers with ccache requires special accommodations.
Add the required ccache options, clang and gcc compiler flags to CMake.
Refactor ccache configuration to pass options directly on the command line for versions of ccache that support it.
---------
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: c2c1031e90adfd8f64c5cd1b5e3b8af663715caf
https://github.com/llvm/llvm-project/commit/c2c1031e90adfd8f64c5cd1b5e3b8af663715caf
Author: Omair Javaid <omair.javaid at linaro.org>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang/test/Semantics/test_errors.py
Log Message:
-----------
[Flang][Windows] Fix test_errors.py by enforcing UTF-8 encoding (#134625)
This patch fixes UnicodeDecodeError on Windows in test_errors.py. This
issue was observed on the flang-arm64-windows-msvc buildbot.
Semantics/OpenMP/interop-construct.f90 was crashing due to Python
defaulting to the cp1252 codec on Windows.
I have fixed this by explicitly setting encoding="utf-8" when reading
source files and invoking subprocess.run() in test_errors.py
flang-arm64-windows-msvc was running on stagging master which resulted
in this issue not being fixed earlier.
https://lab.llvm.org/staging/#/builders/206
Commit: 69c4e172d9838254f4e8ce4c78de9ecfbbabcae2
https://github.com/llvm/llvm-project/commit/69c4e172d9838254f4e8ce4c78de9ecfbbabcae2
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang/test/Semantics/OpenMP/default-none.f90
A flang/test/Semantics/OpenMP/threadprivate09.f90
Log Message:
-----------
[Flang][OpenMP] Add semantic tests for threadprivate variables with host assoc (#134680)
Commit: a51e2827845fa3dfc1ef34f325792b35227311b4
https://github.com/llvm/llvm-project/commit/a51e2827845fa3dfc1ef34f325792b35227311b4
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[LV] Check if plan has an early exit via plan's exit blocks. (NFC) (#134720)
Add a dedicated function to check if a plan is for a loop with an early
exit. This can easily be determined by checking the exit blocks.
This allows removing a use of Legal->hasUncountableEarlyExit() from
InnerLoopVectorizer.
PR: https://github.com/llvm/llvm-project/pull/134720
Commit: 25e08c0b9cafaab09af35ce6a03317ffd503df08
https://github.com/llvm/llvm-project/commit/25e08c0b9cafaab09af35ce6a03317ffd503df08
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang/CMakeLists.txt
M llvm/CMakeLists.txt
Log Message:
-----------
Revert "[CMake] Fix using precompiled headers with ccache" (#134848)
Reverts llvm/llvm-project#131397
Reverting for now on account of build bot failures on certain platforms.
Commit: db7fb704f6d5337399172331b4ee46e846171061
https://github.com/llvm/llvm-project/commit/db7fb704f6d5337399172331b4ee46e846171061
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lldb/test/API/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.py
Log Message:
-----------
[lldb][test] Explain why TestExprFromNonZeroFrame is disabled on Windows
It's not scientific but I think the PDB we produce on the Windows on Arm
bot simply doesn't have the information needed. Could also be that clang
is producing some DWARF, but link.exe is dropping it from the final executable,
the effect is the same.
Commit: 79cb6f05da37520949c006e26c5cef1826090d9d
https://github.com/llvm/llvm-project/commit/79cb6f05da37520949c006e26c5cef1826090d9d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/tools/CMakeLists.txt
R clang/tools/amdgpu-arch/AMDGPUArch.cpp
R clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
R clang/tools/amdgpu-arch/AMDGPUArchByKFD.cpp
R clang/tools/amdgpu-arch/CMakeLists.txt
R clang/tools/nvptx-arch/CMakeLists.txt
R clang/tools/nvptx-arch/NVPTXArch.cpp
A clang/tools/offload-arch/AMDGPUArchByHIP.cpp
A clang/tools/offload-arch/AMDGPUArchByKFD.cpp
A clang/tools/offload-arch/CMakeLists.txt
A clang/tools/offload-arch/NVPTXArch.cpp
A clang/tools/offload-arch/OffloadArch.cpp
Log Message:
-----------
[Clang] Unify 'nvptx-arch' and 'amdgpu-arch' into 'offload-arch' (#134713)
Summary:
These two tools do the same thing, we should unify them into a single
tool. We create symlinks for backward compatiblity and provide a way to
get the old vendor specific behavior with `--amdgpu-only` and
`--nvptx-only`.
Commit: fcaefc2c19ebe037df7115f02abf23f94c07e8cc
https://github.com/llvm/llvm-project/commit/fcaefc2c19ebe037df7115f02abf23f94c07e8cc
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
M llvm/test/CodeGen/AMDGPU/insert-handle-flat-vmem-ds.mir
M llvm/test/CodeGen/AMDGPU/remove-short-exec-branches-special-instructions.mir
M llvm/test/CodeGen/AMDGPU/set-gpr-idx-peephole.mir
Log Message:
-----------
[AMDGPU][NPM] Port SIPreEmitPeephole to NPM (#130065)
Commit: 728320f9468ae8f6318f8f36ce675705d5805149
https://github.com/llvm/llvm-project/commit/728320f9468ae8f6318f8f36ce675705d5805149
Author: TatWai Chong <tatwai.chong at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/profile_all_unsupported.mlir
M mlir/test/Dialect/Tosa/profile_pro_fp_unsupported.mlir
M mlir/test/Dialect/Tosa/profile_pro_int_unsupported.mlir
Log Message:
-----------
[mlir][tosa] Increase test coverage for profile-based validation (#134754)
Add more tests to increase test coverage.
Commit: 7e1b76c2d7e272541ed40df6ce7a15e5cb51d407
https://github.com/llvm/llvm-project/commit/7e1b76c2d7e272541ed40df6ce7a15e5cb51d407
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang/lib/Frontend/CMakeLists.txt
Log Message:
-----------
Revert "[flang] Use precompiled parsing headers" (#134851)
Reverts llvm/llvm-project#130600
Reverting on account of Windows issues with ccache, will bring it back
along with #131137 once those are resolved.
Commit: 008c875be85732f72c4df4671167f5be79f449eb
https://github.com/llvm/llvm-project/commit/008c875be85732f72c4df4671167f5be79f449eb
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU] Fix excessive stack usage in SIInsertWaitcnts::run (#134835)
Noticed on Windows when running LLVM as part of a graphics driver, with
total stack usage limited to about 128 KB. In some cases this function
would overflow the stack.
On Linux this reduces stack usage in this function from about 32 KB to
about 0.5 KB.
Commit: 94b9d75c6d77438008dcfc32812afaaff6e4ec3b
https://github.com/llvm/llvm-project/commit/94b9d75c6d77438008dcfc32812afaaff6e4ec3b
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/BUILD.gn
Log Message:
-----------
[gn] port 65813e0e94c04
Commit: dae0ef53a0b99c6c2b74143baee5896e8bc5c8e7
https://github.com/llvm/llvm-project/commit/dae0ef53a0b99c6c2b74143baee5896e8bc5c8e7
Author: Alan Li <me at alanli.org>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
A mlir/test/Conversion/AMDGPUToROCDL/load_lds.mlir
Log Message:
-----------
[MLIR][AMDGPU] Add a wrapper for global LDS load intrinsics in AMDGPU (#133498)
Defining a new `amdgpu.global_load` op, which is a thin wrap around
ROCDL `global_load_lds` intrinsic, along with its lowering logics to
`rocdl.global.load.lds`.
Commit: fdf20941a8f95b26578fbeb579019f74efe45545
https://github.com/llvm/llvm-project/commit/fdf20941a8f95b26578fbeb579019f74efe45545
Author: wldfngrs <wldfngrs at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/acosf.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/asinhf.cpp
M libc/src/math/generic/atan2.cpp
M libc/src/math/generic/atan2f.cpp
M libc/src/math/generic/atanhf.cpp
M libc/src/math/generic/cos.cpp
M libc/src/math/generic/cosf.cpp
M libc/src/math/generic/cosf16.cpp
M libc/src/math/generic/cospif.cpp
M libc/src/math/generic/cospif16.cpp
M libc/src/math/generic/erff.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/pow.cpp
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/sin.cpp
M libc/src/math/generic/sincos.cpp
M libc/src/math/generic/sincosf.cpp
M libc/src/math/generic/sinf.cpp
M libc/src/math/generic/sinf16.cpp
M libc/src/math/generic/sinpif.cpp
M libc/src/math/generic/sinpif16.cpp
M libc/src/math/generic/tan.cpp
M libc/src/math/generic/tanf.cpp
M libc/src/math/generic/tanf16.cpp
M libc/src/math/generic/tanpif16.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/acosf_test.cpp
M libc/test/src/math/smoke/acoshf_test.cpp
M libc/test/src/math/smoke/asinf_test.cpp
M libc/test/src/math/smoke/asinhf_test.cpp
M libc/test/src/math/smoke/atan2_test.cpp
M libc/test/src/math/smoke/atan2f_test.cpp
M libc/test/src/math/smoke/atan_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
M libc/test/src/math/smoke/cbrt_test.cpp
M libc/test/src/math/smoke/cbrtf_test.cpp
M libc/test/src/math/smoke/cos_test.cpp
M libc/test/src/math/smoke/cosf16_test.cpp
M libc/test/src/math/smoke/cosf_test.cpp
M libc/test/src/math/smoke/coshf_test.cpp
M libc/test/src/math/smoke/cospif16_test.cpp
M libc/test/src/math/smoke/cospif_test.cpp
M libc/test/src/math/smoke/erff_test.cpp
M libc/test/src/math/smoke/exp10_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp10m1f_test.cpp
M libc/test/src/math/smoke/exp2_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/exp2m1f_test.cpp
M libc/test/src/math/smoke/exp_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
M libc/test/src/math/smoke/log10_test.cpp
M libc/test/src/math/smoke/log10f_test.cpp
M libc/test/src/math/smoke/log1p_test.cpp
M libc/test/src/math/smoke/log1pf_test.cpp
M libc/test/src/math/smoke/log2_test.cpp
M libc/test/src/math/smoke/log2f_test.cpp
M libc/test/src/math/smoke/log_test.cpp
M libc/test/src/math/smoke/logf_test.cpp
M libc/test/src/math/smoke/pow_test.cpp
M libc/test/src/math/smoke/powf_test.cpp
M libc/test/src/math/smoke/sin_test.cpp
M libc/test/src/math/smoke/sincos_test.cpp
M libc/test/src/math/smoke/sincosf_test.cpp
M libc/test/src/math/smoke/sinf16_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/smoke/sinpif16_test.cpp
M libc/test/src/math/smoke/sinpif_test.cpp
M libc/test/src/math/smoke/tan_test.cpp
M libc/test/src/math/smoke/tanf16_test.cpp
M libc/test/src/math/smoke/tanf_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
M libc/test/src/math/smoke/tanpif16_test.cpp
Log Message:
-----------
[libc][math] Fix signaling NaN handling for math functions. (#133347)
Add tests for signaling NaNs, and fix function behavior for handling
signaling NaN input.
Fixes https://github.com/llvm/llvm-project/issues/124812
Commit: 35b3886382f0172aa76bfbfc8e731e46c9c11cc3
https://github.com/llvm/llvm-project/commit/35b3886382f0172aa76bfbfc8e731e46c9c11cc3
Author: Hans Wennborg <hans at hanshq.net>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-windows-tailcall.ll
Log Message:
-----------
[win/arm64] Enable tail call with inreg arguments when possible (#134671)
Tail calls were disabled from callers with inreg parameters in 5dc8aeb
with a fixme to check if the callee also takes an inreg parameter.
The issue is that inreg parameters (which are passed in x0 or x1 for
free and member functions respectively) are supposed to be returned (in
x0) at the end of the function. In case of a tail call, that means the
callee needs to return the same value as the caller would.
We can check for that case, and it's not as niche as it sounds, as
that's how Clang will lower one function with an sret return value
calling another, such as:
```
struct T { int x; };
struct S {
T foo();
T bar();
};
T S::foo() { return bar(); } // foo's sret argument will get passed directly to bar
```
Fixes #133098
Commit: 3a6b9b3a87387289cb913d40b09f77c842bfd694
https://github.com/llvm/llvm-project/commit/3a6b9b3a87387289cb913d40b09f77c842bfd694
Author: Christian Sigg <csigg at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix after dae0ef53a0b99c6c2b74143baee5896e8bc5c8e7
Remove unnecessary include.
Commit: 0e9881745834863a6f5a3a05588886bb3eb75cdf
https://github.com/llvm/llvm-project/commit/0e9881745834863a6f5a3a05588886bb3eb75cdf
Author: Romaric Jodin <rjodin at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M libclc/clc/lib/generic/math/clc_frexp.inc
Log Message:
-----------
libclc: frexp: fix implementation regarding denormals (#134823)
Devices not supporting denormals can compare them true against zero. It
leads to result not matching the CTS expectation when either supporting
or not denormals.
For example for 0x1.008p-140 we get {0x1.008p-140, 0} while the CTS
expects {0x1.008p-1, -139} when supporting denormals, or {0, 0} when not
supporting denormals (flushed to zero).
Ref #129871
Commit: f19c6f23abefac56fde9f2b393c9ffa7595c86c6
https://github.com/llvm/llvm-project/commit/f19c6f23abefac56fde9f2b393c9ffa7595c86c6
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/ROCm.h
M clang/test/Driver/hip-device-libs.hip
Log Message:
-----------
[Clang][AMDGPU] Improve error message when device libraries for COV6 are missing (#134745)
#130963 switches the default to COV6, which requires ROCm 6.3.
Currently, if the
device libraries for COV6 are not found, the error message is not very
helpful.
This PR provides a more informative error message in such cases.
Commit: b2dea4fd22b79fa27ef1ebd737401616095a7de6
https://github.com/llvm/llvm-project/commit/b2dea4fd22b79fa27ef1ebd737401616095a7de6
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CMakeLists.txt
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
M compiler-rt/lib/ctx_profile/RootAutoDetector.h
A compiler-rt/test/ctx_profile/TestCases/autodetect-roots.cpp
M compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
M llvm/include/llvm/ProfileData/CtxInstrContextNode.h
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
Log Message:
-----------
[ctxprof] root autodetection mechanism (#133147)
This is an optional mechanism that automatically detects roots. It's a best-effort mechanism, and its main goal is to *avoid* pointing at the message pump function as a root. This is the function that polls message queue(s) in an infinite loop, and is thus a bad root (it never exits).
High-level, when collection is requested - which should happen when a server has already been set up and handing requests - we spend a bit of time sampling all the server's threads. Each sample is a stack which we insert in a `PerThreadCallsiteTrie`. After a while, we run for each `PerThreadCallsiteTrie` the root detection logic. We then traverse all the `FunctionData`, find the ones matching the detected roots, and allocate a `ContextRoot` for them. From here, we special case `FunctionData` objects, in `__llvm_ctx_profile_get_context, that have a `CtxRoot` and route them to `__llvm_ctx_profile_start_context`.
For this to work, on the llvm side, we need to have all functions call `__llvm_ctx_profile_release_context` because they _might_ be roots. This comes at a slight (percentages) penalty during collection - which we can afford since the overall technique is ~5x faster than normal instrumentation. We can later explore conditionally enabling autoroot detection and avoiding this penalty, if desired.
Note that functions that `musttail call` can't have their return instrumented this way, and a subsequent patch will harden the mechanism against this case.
The mechanism could be used in combination with explicit root specification, too.
Commit: 8b11c39a0fad7f6ec48c323a0deeb3c103005200
https://github.com/llvm/llvm-project/commit/8b11c39a0fad7f6ec48c323a0deeb3c103005200
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/docs/CMake.rst
M llvm/test/CMakeLists.txt
M llvm/test/tools/llvm-mt/help.test
M llvm/tools/llvm-mt/CMakeLists.txt
Log Message:
-----------
[llvm-mt] Do not build llvm-mt if not functional (#134631)
llvm-mt requires libxml2 to work, so do not even build it without
libxml2.
CMake 3.31 and later prefer llvm-mt.exe over Microsoft's mt.exe if
available and using clang-cl.exe as CMAKE_CXX_COMPILER. When CMake picks
up llvm-mt.exe without libxml2, any build will fail with the message
```
llvm-mt: error: no libxml2
```
Any test except `--help` already uses `REQUIRES: libxml2`. There is no
point in having a non-functional executable. Not building llvm-mt.exe
will force CMake to use Microsoft's `mt.exe` instead.
Fixes: #134237
Commit: c1e95b2e5e61616eca20f6bc1bbd71470180e349
https://github.com/llvm/llvm-project/commit/c1e95b2e5e61616eca20f6bc1bbd71470180e349
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll
Log Message:
-----------
[RISCV] Fix matching bug in VLA shuffle lowering (#134750)
Fix https://github.com/llvm/llvm-project/issues/134126.
The matching code was previous written as if we were mutating the
indices to replace undef elements with preferred values, but the actual
lowering code just took a prefix of the index vector. This resulted in
us using undef indices for lanes which should have been defined,
resulting in incorrect codegen.
Longer term, we probably should rewrite the mask, but this seemed like
an easier tactical fix.
Commit: 97c4cb4d13b2049cdfe884f4816aeaf6770d0c32
https://github.com/llvm/llvm-project/commit/97c4cb4d13b2049cdfe884f4816aeaf6770d0c32
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/revec.ll
Log Message:
-----------
[SLP][REVEC] getNumElements should not be used as VF when REVEC is enabled. (#134763)
Commit: 2347aa1fccdb1347450fc2a5af310f320f30c734
https://github.com/llvm/llvm-project/commit/2347aa1fccdb1347450fc2a5af310f320f30c734
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/revec-getAltInstrMask.ll
Log Message:
-----------
[SLP][REVEC] Fix the mismatch between the result of getAltInstrMask and the VecTy argument of TargetTransformInfo::isLegalAltInstr. (#134795)
We cannot determine ScalarTy from VL because some ScalarTy is determined
from VL[0]->getType(), while others are determined from
getValueType(VL[0]).
Fix "Mask and VecTy are incompatible".
Commit: 4f77e50042f8299b25442a263875cfb4564a506d
https://github.com/llvm/llvm-project/commit/4f77e50042f8299b25442a263875cfb4564a506d
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/lib/Dialect/AMDGPU/IR/CMakeLists.txt
Log Message:
-----------
[MLIR][AMDGPU] Fix shared build. NFC
Commit: b5045ae9bc84508473e1dac6db8ca5976ea4e069
https://github.com/llvm/llvm-project/commit/b5045ae9bc84508473e1dac6db8ca5976ea4e069
Author: Alan Li <me at alanli.org>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
Log Message:
-----------
[MLIR][Fix] Fix missing dep in AMDGPUDialect. (#134862)
Issue introduced in https://github.com/llvm/llvm-project/pull/133498
Commit: ae3faea1f28f840bddd819d1c45e7f7d3e75703c
https://github.com/llvm/llvm-project/commit/ae3faea1f28f840bddd819d1c45e7f7d3e75703c
Author: Christopher McGirr <7071833+chrsmcgrr at users.noreply.github.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
M mlir/lib/Debug/CLOptionsSetup.cpp
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
A mlir/test/mlir-opt/debuggerhook.mlir
Log Message:
-----------
[MLIR][mlir-opt] move action debugger hook flag (#134842)
Currently if a developer uses the flag `--mlir-enable-debugger-hook` the
debugger hook is not actually enabled. It seems the DebugConfig and the
MainMLIROptConfig are not connected.
To fix this we can move the `enableDebuggerHook` CL Option to the
DebugConfigCLOptions struct so that it can get registered and enabled
along with the other debugger flags. AFAICS there are no other uses of
the flag so this should be safe.
This also adds a small LIT test to check that the hook is enabled by
checking the std::cerr output for the log message.
Commit: dfe4d9187c60c9888de3410ed3c2a98136a9cd8f
https://github.com/llvm/llvm-project/commit/dfe4d9187c60c9888de3410ed3c2a98136a9cd8f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/IR/GCStrategy.cpp
A llvm/test/Transforms/RewriteStatepointsForGC/unsupported-gc-error.ll
Log Message:
-----------
GCStrategy: Use Twine properly for error message (#132760)
Commit: 561506144531cf0a760bb437fd74c683931c60ae
https://github.com/llvm/llvm-project/commit/561506144531cf0a760bb437fd74c683931c60ae
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lldb/source/Core/Statusline.cpp
A llvm/test/tools/dsymutil/Inputs/Binary.swiftmodule
A llvm/test/tools/dsymutil/Inputs/FromInterface.swiftmodule
A llvm/test/tools/dsymutil/swiftmodule.test
M llvm/test/tools/dsymutil/yaml-object-address-rewrite.test
M llvm/tools/dsymutil/CMakeLists.txt
M llvm/tools/dsymutil/DebugMap.cpp
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M llvm/tools/dsymutil/RelocationMap.h
A llvm/tools/dsymutil/SwiftModule.cpp
A llvm/tools/dsymutil/SwiftModule.h
Log Message:
-----------
[dsymutil] Avoid copying binary swiftmodules built from textual (#134719)
.swiftinterface files into the dSYM bundle. These typically come only
from the SDK (since textual interfaces require library evolution) and
thus are a waste of space to copy into the bundle.
The information about this is being parsed out of the control block,
which means duplicating 5 constants from the Swift frontend. If a file
cannot be parsed, dsymutil errs on the side of copying the file anyway.
rdar://138186524
Commit: 2cf4254466252f3c8685b03b3de34b06563051e8
https://github.com/llvm/llvm-project/commit/2cf4254466252f3c8685b03b3de34b06563051e8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
A llvm/test/Transforms/Attributor/align-atomic.ll
Log Message:
-----------
Attributor: Add baseline tests for propagating align to atomics (#134836)
Commit: 66f03436092df4e87434269eedf9f7c9e6fdbcba
https://github.com/llvm/llvm-project/commit/66f03436092df4e87434269eedf9f7c9e6fdbcba
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/Transforms/Attributor/align-atomic.ll
Log Message:
-----------
Attributor: Propagate align to atomicrmw instructions (#134837)
Partially fixes #134480
Commit: 34e8f00066ee82cba63808e381eaaae89c1b1c79
https://github.com/llvm/llvm-project/commit/34e8f00066ee82cba63808e381eaaae89c1b1c79
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/Transforms/Attributor/align-atomic.ll
Log Message:
-----------
Attributor: Propagate align to cmpxchg instructions (#134838)
Fixes #134480
Commit: 6c74fe9087fd85059158719ad1ab67e0f5098300
https://github.com/llvm/llvm-project/commit/6c74fe9087fd85059158719ad1ab67e0f5098300
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/DiagnosticAST.h
M clang/include/clang/Basic/DiagnosticAnalysis.h
M clang/include/clang/Basic/DiagnosticComment.h
M clang/include/clang/Basic/DiagnosticCrossTU.h
M clang/include/clang/Basic/DiagnosticDriver.h
M clang/include/clang/Basic/DiagnosticFrontend.h
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticInstallAPI.h
M clang/include/clang/Basic/DiagnosticLex.h
M clang/include/clang/Basic/DiagnosticParse.h
M clang/include/clang/Basic/DiagnosticRefactoring.h
M clang/include/clang/Basic/DiagnosticSema.h
M clang/include/clang/Basic/DiagnosticSerialization.h
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[Clang] [NFC] Tablegen component diags headers (#134777)
The component diagnostic headers (i.e. `DiagnosticAST.h` and friends)
all follow the same format, and there’s enough of them (and in them) to
where updating all of them has become rather tedious (at least it was
for me while working on #132348), so this patch instead generates all of
them (or rather their contents) via Tablegen.
Also, it seems that `%enum_select` currently wouldn’t work in
`DiagnosticCommonKinds.td` because the infrastructure for that was
missing from `DiagnosticIDs.h`; this patch should fix that as well.
Commit: 4e9cfcf6afa340b3ffae5996f6a511951f528ce1
https://github.com/llvm/llvm-project/commit/4e9cfcf6afa340b3ffae5996f6a511951f528ce1
Author: Christian Sigg <csigg at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[llvm][bazel] Fix BUILD after 561506144531cf0a760bb437fd74c683931c60ae.
Commit: 76d2e0881e19359e262043a149474049f94ea348
https://github.com/llvm/llvm-project/commit/76d2e0881e19359e262043a149474049f94ea348
Author: tdanyluk <tdanyluk at nvidia.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/utils/generate-test-checks.py
Log Message:
-----------
[mlir] fix references of attributes which are not defined earlier (#134364)
If an attribute is not defined earlier in the same file, but just
referenced from its dialect directly, then currently not the correct
check is being emited.
What would it emit for #toy.shape<[1, 2, 3]>:
Earlier:
// CHECK: #[['?']]<[1, 2, 3]>
Now:
// CHECK: #toy.shape<[1, 2, 3]>
Commit: bd49d278c6aa9ac5cc8e5917003d4f710887548d
https://github.com/llvm/llvm-project/commit/bd49d278c6aa9ac5cc8e5917003d4f710887548d
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-cast-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output.cpp
Log Message:
-----------
[clang-tidy][NFC] update test name and config for bugprone-unintended-char-ostream-output (#134868)
Commit: b0cb672b9968eeee6eb022e98476957dbdf8e6e2
https://github.com/llvm/llvm-project/commit/b0cb672b9968eeee6eb022e98476957dbdf8e6e2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/test/CodeGenHLSL/builtins/distance.hlsl
M clang/test/CodeGenHLSL/builtins/length.hlsl
M clang/test/CodeGenHLSL/builtins/reflect.hlsl
M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
M clang/test/Headers/__clang_hip_cmath.hip
M clang/test/Headers/__clang_hip_math.hip
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/test/Transforms/Inline/access-attributes-prop.ll
Log Message:
-----------
Inline: Propagate callsite nofpclass attribute
(#134800)
Fixes #134070
Commit: b416e7f5920ff2f80f60e52eeb363269d130adba
https://github.com/llvm/llvm-project/commit/b416e7f5920ff2f80f60e52eeb363269d130adba
Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/utils/git/code-format-helper.py
Log Message:
-----------
[CI] adjust the undef warning regex so it doesn't catch %undef in .ll files
Commit: 4a7b34d03c3cfd316ee64a63dfad519e0fee64fb
https://github.com/llvm/llvm-project/commit/4a7b34d03c3cfd316ee64a63dfad519e0fee64fb
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
Log Message:
-----------
Revert "[AMDGPU] Add buffer.fat.ptr.load.lds intrinsic wrapping raw rsrc version (#133015)" (#134871)
This reverts commit d1a05721172272f7aab685b56d99e86814a15bff.
There was further discussion on the PR about whether the intinsics
should exist in this form.
Commit: 84fde791a1f285dec7ef0ec4803c5174f182df57
https://github.com/llvm/llvm-project/commit/84fde791a1f285dec7ef0ec4803c5174f182df57
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/Reassociate.cpp
A llvm/test/Transforms/Reassociate/debugloc-reass-add.ll
Log Message:
-----------
[Reassociate] Apply Debugloc to instrs produced when optimizing add (#134676)
Currently in Reassociate we may create a set of new instructions when
optimizing an `add`, but we do not set DebugLocs on the new
instructions; this patch propagates the add's DebugLoc to the new
instructions.
Found using #107279.
Commit: bb7ff134dc9eb72707400f00fb874a6a9e47597d
https://github.com/llvm/llvm-project/commit/bb7ff134dc9eb72707400f00fb874a6a9e47597d
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
Log Message:
-----------
[gn] port 6c74fe9087
Commit: 26475f5bdd2f4a042b63fdf1ee62d6634872dee5
https://github.com/llvm/llvm-project/commit/26475f5bdd2f4a042b63fdf1ee62d6634872dee5
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCParser/MCAsmParser.h
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/test/MC/AArch64/data-directive-specifier.s
M llvm/test/MC/AArch64/elf-reloc-ptrauth.s
M llvm/test/MC/AArch64/label-arithmetic-diags-darwin.s
Log Message:
-----------
[AArch64] Refactor @plt, @gotpcrel, and @AUTH to use parseDataExpr
Following PR #132569 (RISC-V), which added `parseDataExpr` for parsing
expressions in data directives (e.g., `.word`), this PR migrates AArch64
`@plt`, `@gotpcrel`, and `@AUTH` from the `parsePrimaryExpr` workaround
to `parseDataExpr`. The goal is to align with the GNU assembler model,
where relocation specifiers apply to the entire operand rather than
individual terms, reducing complexity-especially evident in `@AUTH`
parsing.
Note: AArch64 ELF lacks an official syntax for data directives
(#132570). A prefix notation might be a preferable future direction.
I recommend `%specifier(expr)`.
AsmParser's `@specifier` parsing is suboptimal, necessitating lexer
workarounds. `@` might appear multiple times in an operand.
We should not use `@` beyond the existing AArch64 Mach-O instruction
operands.
In the test elf-reloc-ptrauth.s, many errors are now reported at parse
time.
Pull Request: https://github.com/llvm/llvm-project/pull/134202
Commit: 3f38cd07d820248fd2043efb1341fabaac2d84a6
https://github.com/llvm/llvm-project/commit/3f38cd07d820248fd2043efb1341fabaac2d84a6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/test/CodeGenHLSL/builtins/distance.hlsl
M clang/test/CodeGenHLSL/builtins/length.hlsl
M clang/test/CodeGenHLSL/builtins/reflect.hlsl
M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
M clang/test/Headers/__clang_hip_cmath.hip
M clang/test/Headers/__clang_hip_math.hip
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/test/Transforms/Inline/access-attributes-prop.ll
Log Message:
-----------
Revert "Inline: Propagate callsite nofpclass attribute"
This reverts commit b0cb672b9968eeee6eb022e98476957dbdf8e6e2.
Breaks bot
Commit: 16d10546d29355f796cbdb307f0f89d6679d14a0
https://github.com/llvm/llvm-project/commit/16d10546d29355f796cbdb307f0f89d6679d14a0
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M libcxx/.clang-format
M libcxx/docs/DesignDocs/VisibilityMacros.rst
M libcxx/include/__condition_variable/condition_variable.h
M libcxx/include/__config
M libcxx/include/__locale
M libcxx/include/__thread/thread.h
M libcxx/include/condition_variable
M libcxx/include/future
M libcxx/include/locale
M libcxx/include/mutex
M libcxx/include/shared_mutex
M libcxx/include/string
Log Message:
-----------
[libc++] Remove _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS (#111964)
This macro isn't required if we define all the functions inline. In
fact, quite a few of the marked functions have already been inlined.
This patch basically only moves code around and adds
`_LIBCPP_HIDE_FROM_ABI` to the places where it's been missing so far.
This also removes inlining hints, since it dropps `inline` in some
places, but that shouldn't make much of a difference. The functions tend
to be either really small, so should be inlined anyways, or are big
enough that they shouldn't be inlined even with an inlinehint.
Commit: df0ccf6df09b5a067c80519b9adfa2c7dc46a350
https://github.com/llvm/llvm-project/commit/df0ccf6df09b5a067c80519b9adfa2c7dc46a350
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/Linux/asan_rt_confict_test-2.cpp
Log Message:
-----------
[asan] Disable TestCases/Linux/asan_rt_confict_test-2.cpp to fix build
TestCases/Linux/asan_rt_confict_test-2.cpp started failing in https://lab.llvm.org/buildbot/#/builders/66/builds/12265/steps/9/logs/stdio
The only change is "[LLD][ELF] Allow merging XO and RX sections, and add --[no-]xosegment flag (#132412)" (https://github.com/llvm/llvm-project/commit/2c1bdd4a0811af89eb9631935fbd90f13a04eacb). Based on the test case (which deliberately tries to mix static and dynamically linked ASan), I suspect it's actually the test case that needs to be fixed (probably with a different error message check).
This patch disables TestCases/Linux/asan_rt_confict_test-2.cpp to make the buildbots green while I investigate.
Commit: d6c8e8908d421979a428ede9f9a630dac8576c5b
https://github.com/llvm/llvm-project/commit/d6c8e8908d421979a428ede9f9a630dac8576c5b
Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Writer.cpp
M llvm/include/llvm/Support/FileOutputBuffer.h
M llvm/lib/Support/FileOutputBuffer.cpp
M llvm/unittests/Support/FileOutputBufferTest.cpp
Log Message:
-----------
Rename `F_no_mmap` to `F_mmap` (#134787)
The `F_no_mmap` flag was introduced by
https://github.com/llvm/llvm-project/commit/68142324290f2932df0e271747cdccc371d6dded
Commit: 46d4c3b1f64dfbca2a029ff30434aaa5248fc190
https://github.com/llvm/llvm-project/commit/46d4c3b1f64dfbca2a029ff30434aaa5248fc190
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/matrix-multiply.ll
Log Message:
-----------
[X86] combineX86ShuffleChain - always prefer VPERMQ/PD for unary subvector shuffles on AVX2+ targets (#134849)
When combining 2 x 128-bit subvectors, don't assume that if the node is
already a X86ISD::VPERM2X128 node then there's nothing to do.
Fix issue where if we'd somehow combined to X86ISD::VPERM2X128
(typically if the 2 operands had then simplified to a common operand),
we can't canonicalise back to X86ISD::VPERMI on AVX2+ targets.
This matches the v4f64/v4i64 shuffle lowering preference for VPERMQ/PD
over VPERM2F128/I128.
Commit: e3d114ceb86782553e8f244975441e5934b35b82
https://github.com/llvm/llvm-project/commit/e3d114ceb86782553e8f244975441e5934b35b82
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/Reassociate.h
M llvm/lib/Transforms/Scalar/Reassociate.cpp
A llvm/test/Transforms/Reassociate/debugloc-factoring-neg.ll
Log Message:
-----------
[DebugInfo][Reassociate] Propagate source loc when negating mul factor (#134679)
As part of RemoveFactorFromExpression, we attempt to remove a factor
from a mul/fmul expression; this may involve generating new
instructions, e.g. to negate the result if the factor was negative in
the original expression. When this happens, the new instructions should
have a DebugLoc set from the instruction that the factored expression is
being used to compute.
Found using https://github.com/llvm/llvm-project/pull/107279.
Commit: f869d6efeec825c384dd9410fd29f90078e40c30
https://github.com/llvm/llvm-project/commit/f869d6efeec825c384dd9410fd29f90078e40c30
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
M lldb/source/Target/Process.cpp
Log Message:
-----------
[LLDB][Minidump]Update MinidumpFileBuilder to read and write in chunks (#129307)
I recently received an internal error report that LLDB was OOM'ing when
creating a Minidump. In my 64b refactor we made a decision to acquire
buffers the size of the largest memory region so we could read all of
the contents in one call. This made error handling very simple (and
simpler coding for me!) but had the trade off of large allocations if
huge pages were enabled.
This patch is one I've had on the back burner for awhile, but we can
read and write the Minidump memory sections in discrete chunks which we
already do for writing to disk.
I had to refactor the error handling a bit, but it remains the same. We
make a best effort attempt to read as much of the memory region as
possible, but fail immediately if we receive an error writing to disk. I
did not add new tests for this because our existing test suite is quite
good, but I did manually verify a few Minidumps couldn't read beyond the
red_zone.
```
(lldb) reg read $sp
rsp = 0x00007fffffffc3b0
(lldb) p/x 0x00007fffffffc3b0 - 128
(long) 0x00007fffffffc330
(lldb) memory read 0x00007fffffffc330
0x7fffffffc330: 60 c3 ff ff ff 7f 00 00 60 cd ff ff ff 7f 00 00 `.......`.......
0x7fffffffc340: 60 c3 ff ff ff 7f 00 00 65 e6 26 00 00 00 00 00 `.......e.&.....
(lldb) memory read 0x00007fffffffc329
error: could not parse memory info (Success!)
```
I'm not sure how to quantify the memory improvement other than we would
allocate the largest size regardless of the size. So a 2gb unreadable
region would cause a 2gb allocation even if we were reading 4096 kb. Now
we will take the range size or the max chunk size of 128 mb.
Commit: 2721d50d8785603987358afb4d82b986879ca41e
https://github.com/llvm/llvm-project/commit/2721d50d8785603987358afb4d82b986879ca41e
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lldb/source/Core/Statusline.cpp
R llvm/test/tools/dsymutil/Inputs/Binary.swiftmodule
R llvm/test/tools/dsymutil/Inputs/FromInterface.swiftmodule
R llvm/test/tools/dsymutil/swiftmodule.test
M llvm/test/tools/dsymutil/yaml-object-address-rewrite.test
M llvm/tools/dsymutil/CMakeLists.txt
M llvm/tools/dsymutil/DebugMap.cpp
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M llvm/tools/dsymutil/RelocationMap.h
R llvm/tools/dsymutil/SwiftModule.cpp
R llvm/tools/dsymutil/SwiftModule.h
Log Message:
-----------
Revert "[dsymutil] Avoid copying binary swiftmodules built from textual"
This reverts commit 39ace8a63012af7d6ad7bf065c233fd3d5df44a3.
while investigating Linux bot failures.
Commit: 271399831b780d25dce85715727c841843e10d4b
https://github.com/llvm/llvm-project/commit/271399831b780d25dce85715727c841843e10d4b
Author: k-kashapov <52855633+k-kashapov at users.noreply.github.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M compiler-rt/lib/msan/msan.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/i386/vararg.ll
Log Message:
-----------
[MSan] Change overflow_size_tls type to IntPtrTy (#117689)
As discussed in
https://github.com/llvm/llvm-project/pull/109284#discussion_r1838819987:
Changed `__msan_va_arg_overflow_size_tls` type from `Int64Ty` to
`IntPtrTy`.
Commit: 441f87968df5dfb74d710fa32147789be98c20a6
https://github.com/llvm/llvm-project/commit/441f87968df5dfb74d710fa32147789be98c20a6
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/cast.cpp
A clang/test/CIR/CodeGen/cmp.cpp
A clang/test/CIR/IR/cmp.cir
Log Message:
-----------
[CIR] Upstream CmpOp (#133159)
This patch adds support for comparison operators with ClangIR, both
integral and floating point.
---------
Co-authored-by: Morris Hafner <mhafner at nvidia.com>
Co-authored-by: Henrich Lauko <xlauko at mail.muni.cz>
Co-authored-by: Andy Kaylor <akaylor at nvidia.com>
Commit: 02a708b93b9ebe5e4fbc2b266da94677e6f793d3
https://github.com/llvm/llvm-project/commit/02a708b93b9ebe5e4fbc2b266da94677e6f793d3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Extract TryToFindDuplicates lambda into a separate function, NFC
Reviewers: RKSimon, hiraditya
Reviewed By: hiraditya, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/134873
Commit: edcbd4a21179ca5e0fa9095d28a38fe10de66322
https://github.com/llvm/llvm-project/commit/edcbd4a21179ca5e0fa9095d28a38fe10de66322
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Extract a check for strided loads into separate function, NFC
Reviewers: hiraditya, RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/134876
Commit: 231aa3070dcd91e10e9972d20f7557c0068c41e3
https://github.com/llvm/llvm-project/commit/231aa3070dcd91e10e9972d20f7557c0068c41e3
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/include/clang/AST/DeclOpenACC.h
M clang/include/clang/AST/GlobalDecl.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/AST/DeclOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
A clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
A clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/test/CIR/CodeGenOpenACC/openacc-not-implemented-global.cpp
A clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
A clang/test/Driver/openacc-no-cir.c
Log Message:
-----------
[OpenACC][CIR] Basic infrastructure for OpenACC lowering (#134717)
This is the first of a few patches that will do infrastructure work to
enable the OpenACC lowering via the OpenACC dialect.
At the moment this just gets the various function calls that will end up
generating OpenACC, plus some tests to validate that we're doing the
diagnostics in OpenACC specific locations.
Additionally, this adds Stmt and Decl files for CIRGen.
Commit: 6d2b767678caac108eeac752b0b90c98a44107ee
https://github.com/llvm/llvm-project/commit/6d2b767678caac108eeac752b0b90c98a44107ee
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M libcxx/include/queue
M libcxx/include/stack
Log Message:
-----------
[NFC][libc++] Removes Clang 16 work-arounds. (#91636)
This was noticed while reviewing the implementation status of
P1614R2 The Mothership has Landed
Drive-by: Add some missing _LIBCPP_HIDE_FROM_ABIs.
Commit: 7117dea043d39912dc41aaeba9c3186486b9b867
https://github.com/llvm/llvm-project/commit/7117dea043d39912dc41aaeba9c3186486b9b867
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
R llvm/test/CodeGen/ARM/plt-relative-reloc.ll
A llvm/test/CodeGen/ARM/relative-reloc.ll
M llvm/test/CodeGen/RISCV/dso_local_equivalent.ll
R llvm/test/CodeGen/RISCV/plt-relative-reloc.ll
A llvm/test/CodeGen/RISCV/relative-reloc.ll
M llvm/test/CodeGen/X86/dso_local_equivalent.ll
A llvm/test/CodeGen/X86/relative-reloc-32.ll
A llvm/test/CodeGen/X86/relative-reloc-64.ll
M llvm/test/CodeGen/X86/relptr-rodata.ll
R llvm/test/CodeGen/X86/x86-64-plt-relative-reloc.ll
R llvm/test/CodeGen/X86/x86-plt-relative-reloc.ll
Log Message:
-----------
AsmPrinter: Remove ELF's special lowerRelativeReference for unnamed_addr function; use lowerDSOLocalEquivalent in more cases
https://reviews.llvm.org/D17938 introduced lowerRelativeReference to
give ConstantExpr sub (A-B) special semantics in ELF: when `A` is an
`unnamed_addr` function, create a PLT-generating relocation. This was
intended for C++ relative vtables, but C++ relative vtable ended up
using DSOLocalEquivalent (lowerDSOLocalEquivalent).
This special treatment of `unnamed_addr` seems unusual.
Let's remove it. Only COFF needs an overload to generate a @IMGREL32
relocation specifier (llvm/test/MC/COFF/cross-section-relative.ll).
Pull Request: https://github.com/llvm/llvm-project/pull/134781
Commit: 5ebe22a35d27d69a9ba878010072588ace489035
https://github.com/llvm/llvm-project/commit/5ebe22a35d27d69a9ba878010072588ace489035
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/allocator-registry.h
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang/include/flang/Runtime/CUDA/allocator.h
Log Message:
-----------
[flang][cuda] Add async id to allocators (#134724)
Add async id to allocators in preparation for stream allocation.
Commit: b7b3758e88f15a7ec27f212cd46e3dcf4e2f39f5
https://github.com/llvm/llvm-project/commit/b7b3758e88f15a7ec27f212cd46e3dcf4e2f39f5
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
M mlir/include/mlir/Dialect/Ptr/IR/PtrDialect.td
M mlir/include/mlir/IR/BuiltinTypeInterfaces.td
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm-interface.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/mem2reg.mlir
M mlir/test/Dialect/LLVMIR/opaque-ptr.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Dialect/LLVMIR/types.mlir
M mlir/test/IR/invalid-builtin-types.mlir
M mlir/test/IR/test-verifiers-type.mlir
M mlir/test/Target/LLVMIR/Import/constant.ll
M mlir/test/Target/LLVMIR/Import/incorrect-scalable-vector-check.ll
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
M mlir/test/Target/LLVMIR/llvmir-types.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
M mlir/test/Target/LLVMIR/opaque-ptr.mlir
M mlir/test/python/ir/builtin_types.py
Log Message:
-----------
[mlir][IR] Add `VectorTypeElementInterface` with `!llvm.ptr` (#133455)
This commit extends the MLIR vector type to support pointer-like types
such as `!llvm.ptr` and `!ptr.ptr`, as indicated by the newly added
`VectorTypeElementInterface`. This makes the LLVM dialect closer to LLVM
IR. LLVM IR already supports pointers as vector element type.
Only integers, floats, pointers and index are valid vector element types
for now. Additional vector element types may be added in the future
after further discussions. The interface is still evolving and may
eventually turn into one of the alternatives that were discussed on the
RFC.
This commit also disallows `!llvm.ptr` as an element type of
`!llvm.vec`. This type exists due to limitations of the MLIR vector
type.
RFC:
https://discourse.llvm.org/t/rfc-allow-pointers-as-element-type-of-vector/85360
Commit: 9bfb4b8fb194c1df5b082888abc03d095e39b6e9
https://github.com/llvm/llvm-project/commit/9bfb4b8fb194c1df5b082888abc03d095e39b6e9
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-01.mir
M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-02.mir
Log Message:
-----------
[MachineScheduler] Add more debug prints w.r.t hazards and pending SUnits (#134328)
While we already have some detailed debug messages on the candidate
selection process -- which selects a SUnit from the Available queue, we
didn't say much about why a SUnit was _not_ moved from Pending queue to
Available queue in the first place, which is just as important as why we
scheduled a node IMHO. Therefore, I added some debug prints for this
very purpose.
I decide to print these extra messages by default (instead of being
guarded by command line like `-misched-detail-resource-booking`) because
we have been printing some of the hazard remarks, so I thought we might
as well print these new messages -- which are mostly about hazard -- by
default.
Commit: 4928093a21cea9bd76d1e47455e990874ad352df
https://github.com/llvm/llvm-project/commit/4928093a21cea9bd76d1e47455e990874ad352df
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/test/CIR/CodeGen/basic.cpp
A clang/test/CIR/CodeGen/nullptr-init.cpp
Log Message:
-----------
[CIR] Upstream support for address of and dereference (#134317)
This adds support for handling the address of and dereference unary
operations in ClangIR code generation. This also adds handling for
nullptr and proper initialization via the NullToPointer cast.
Commit: 658f848fed06f7629b52523a26b54faf72251158
https://github.com/llvm/llvm-project/commit/658f848fed06f7629b52523a26b54faf72251158
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M libcxx/test/libcxx/feature_test_macro/ftm_metadata.sh.py
M libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
M libcxx/test/libcxx/feature_test_macro/standard_ftms.sh.py
M libcxx/test/libcxx/feature_test_macro/std_dialects.sh.py
M libcxx/test/libcxx/feature_test_macro/version_header.sh.py
M libcxx/test/libcxx/feature_test_macro/version_header_implementation.sh.py
Log Message:
-----------
[NFC][libc++][test] Refactor new ftm generator tests. (#134490)
This uses the python unit test framework instead of just asserts. This
improves the diagnostics when a test fails.
Commit: 4ab86edb560a2e1152e22700b0cb386759286c37
https://github.com/llvm/llvm-project/commit/4ab86edb560a2e1152e22700b0cb386759286c37
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M libcxx/include/istream
Log Message:
-----------
[libc++] Fix misplaced _LIBCPP_POP_MACROS (#134874)
Fixes #134681
Commit: 6010d5ba2b8e4b6e88460559ad5624a63a4a1505
https://github.com/llvm/llvm-project/commit/6010d5ba2b8e4b6e88460559ad5624a63a4a1505
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
gn build: Port 2f1416bbcde8 more
Commit: 19ee7ffdacd54267aa18793b31d23c9c4fb94ee6
https://github.com/llvm/llvm-project/commit/19ee7ffdacd54267aa18793b31d23c9c4fb94ee6
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
A llvm/test/Transforms/AggressiveInstCombine/dbgloc-memchr.ll
Log Message:
-----------
[AggrInstCombine][DebugInfo] Propagate DILocation for inlined memchr (#134808)
When AggressiveInstCombine replaces a memchr with a switch instruction,
it currently drops the DILocation for that memchr. This patch changes
this, propagating the memchr DILocation to all the generated
instructions that replace it.
Found using https://github.com/llvm/llvm-project/pull/107279.
Commit: e84a80408523a48d6eaacd795f1615e821ffb233
https://github.com/llvm/llvm-project/commit/e84a80408523a48d6eaacd795f1615e821ffb233
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lldb/source/Core/Statusline.cpp
Log Message:
-----------
[lldb] Make sure the process is stopped when computing the symbol context (#134757)
Make sure the process is stopped when computing the symbol context. Both
Adrian and Felipe reported a handful of crashes in GetSymbolContext
called from Statusline::Redraw on the default event thread.
Given that we're handling a StackFrameSP, it's not clear to me how that
could have gotten invalidated, but Jim points out that it doesn't make
sense to compute the symbol context for the frame when the process isn't
stopped.
Commit: a557550fa40551d23762d4903535a022275b6caa
https://github.com/llvm/llvm-project/commit/a557550fa40551d23762d4903535a022275b6caa
Author: Yijia Gu <yijiagu at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[clang][bazel] add missing target
Commit: 11fdea984dc6777ba4f4b7e516c2938083b34ddb
https://github.com/llvm/llvm-project/commit/11fdea984dc6777ba4f4b7e516c2938083b34ddb
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
Log Message:
-----------
[clang] NFC: remove trailing whitespaces from clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
Commit: 3b84b1e1635cc6af9ff745d0542ebee151394c42
https://github.com/llvm/llvm-project/commit/3b84b1e1635cc6af9ff745d0542ebee151394c42
Author: Yijia Gu <yijiagu at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[clang][bazel] fix typo
Commit: 7e70d708a39470397a8df9aa5842d0875b471def
https://github.com/llvm/llvm-project/commit/7e70d708a39470397a8df9aa5842d0875b471def
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lldb/include/lldb/API/SBDebugger.h
M lldb/include/lldb/Initialization/SystemLifetimeManager.h
M lldb/source/API/SBDebugger.cpp
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/Initialization/SystemLifetimeManager.cpp
M lldb/tools/lldb-server/lldb-server.cpp
M lldb/tools/lldb-test/SystemInitializerTest.cpp
M lldb/tools/lldb-test/lldb-test.cpp
Log Message:
-----------
[LLDB][NFC] Remove Debugger dependency in SystemLifetimeManager (#134383)
It reduces the memory usage in lldb-server.
Commit: 9ba1a3fcb53936f20533585df283b3734ae8c4ef
https://github.com/llvm/llvm-project/commit/9ba1a3fcb53936f20533585df283b3734ae8c4ef
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Lex/PPExpressions.cpp
A clang/test/Preprocessor/constants.c
Log Message:
-----------
Reject invalid integer constants in unevaluated preprocessor operands (#134884)
Clang was previously accepting invalid code like:
```
#if 1 ? 1 : 999999999999999999999
#endif
```
because the integer constant (which is too large to fit into any
standard or extended integer type) was in an unevaluated branch of the
conditional operator. Similar invalid code involving || or && was also
accepted and is now rejected.
Fixes #134658
Commit: 234d30e36b1bba0fae4149ba90348f804be7ad4c
https://github.com/llvm/llvm-project/commit/234d30e36b1bba0fae4149ba90348f804be7ad4c
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/docs/Dialects/LLVM.md
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Target/LLVMIR/TypeFromLLVM.cpp
M mlir/lib/Target/LLVMIR/TypeToLLVM.cpp
M mlir/test/Dialect/LLVMIR/mem2reg.mlir
M mlir/test/Dialect/LLVMIR/types-invalid.mlir
M mlir/test/Dialect/LLVMIR/types.mlir
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-types.mlir
Log Message:
-----------
[mlir][LLVM] Delete `LLVMFixedVectorType` and `LLVMScalableVectorType` (#133286)
Since #125690, the MLIR vector type supports `!llvm.ptr` as an element
type. The only remaining element type for `LLVMFixedVectorType` is now
`LLVMPPCFP128Type`.
This commit turns `LLVMPPCFP128Type` into a proper FP type (by
implementing `FloatTypeInterface`), so that the MLIR vector type accepts
it as an element type. This makes `LLVMFixedVectorType` obsolete.
`LLVMScalableVectorType` is also obsolete. This commit deletes
`LLVMFixedVectorType` and `LLVMScalableVectorType`.
Note for LLVM integration: Use `VectorType` instead of
`LLVMFixedVectorType` and `LLVMScalableVectorType`.
Commit: 836476660e5c068a8b3034c2bc21dbb70683f0fe
https://github.com/llvm/llvm-project/commit/836476660e5c068a8b3034c2bc21dbb70683f0fe
Author: Yijia Gu <yijiagu at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] add missing deps for LLVMOpsTdFiles
Commit: c4c0ff686563999176f16a40274586ee0d32c66f
https://github.com/llvm/llvm-project/commit/c4c0ff686563999176f16a40274586ee0d32c66f
Author: cmtice <cmtice at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/source/ValueObject/DILParser.cpp
Log Message:
-----------
[LLDB] Fix warnings in DIL. (#134778)
This fixes 3 warnings from compiling the DILParser:
DILParser.h:53:12: warning: returning address of local temporary object
[-Wreturn-stack-address]
DILParser.h:119:8: warning: private field 'm_fragile_ivar' is not used
[-Wunused-private-field]
DILParser.h:120:8: warning: private field 'm_check_ptr_vs_member' is not
used [-Wunused-private-field]
Commit: 550d148561002a9984ca57a5ba0ed39367052a52
https://github.com/llvm/llvm-project/commit/550d148561002a9984ca57a5ba0ed39367052a52
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/SandboxIR/Constant.cpp
Log Message:
-----------
[SandboxIR] Fix warning when building on Windows with clang-cl. NFC.
This fixes several of these:
```
[1151/3381] Building CXX object lib\SandboxIR\CMakeFiles\LLVMSandboxIR.dir\Constant.cpp.obj
C:\git\llvm-project\llvm\lib\SandboxIR\Constant.cpp(331,52): warning: duplicate explicit instantiation of 'operator()' ignored as a Microsoft extension [-Wmicrosoft-template]
331 | llvm::GlobalObject>::LLVMGVToGV::operator()(llvm::GlobalIFunc
| ^
C:\git\llvm-project\llvm\include\llvm/SandboxIR/Constant.h(816,52): note: previous explicit instantiation is here
816 | llvm::GlobalObject>::LLVMGVToGV::operator()(llvm::GlobalIFunc
| ^
```
Commit: 446e793d77286ea477c90778f28c168883526e56
https://github.com/llvm/llvm-project/commit/446e793d77286ea477c90778f28c168883526e56
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Type.h
Log Message:
-----------
[SandboxIR] Fix warning when building on Windows with clang-cl. NFC.
This fixes:
```
[1230/3381] Building CXX object lib\Transforms\Vectorize\CMakeFiles\LLVMVectorize.dir\SandboxVectorizer\VecUtils.cpp.obj
In file included from C:\git\llvm-project\llvm\lib\Transforms\Vectorize\SandboxVectorizer\VecUtils.cpp:9:
In file included from C:\git\llvm-project\llvm\include\llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h:17:
C:\git\llvm-project\llvm\include\llvm/SandboxIR/Type.h(55,16): warning: unqualified friend declaration referring to type outside of the nearest enclosing namespace is a Microsoft extension; add a nested name specifier [-Wmicrosoft-unqualified-friend]
55 | friend class CallBase; // For LLVMTy.
| ^
| ::llvm::
C:\git\llvm-project\llvm\include\llvm/SandboxIR/Type.h(60,16): warning: unqualified friend declaration referring to type outside of the nearest enclosing namespace is a Microsoft extension; add a nested name specifier [-Wmicrosoft-unqualified-friend]
60 | friend class CmpInst; // For LLVMTy. TODO: Cleanup after
| ^
| ::llvm::
2 warnings generated.
```
Commit: 661f90ad088fe9fad004ae6690bab061fb9a5f1d
https://github.com/llvm/llvm-project/commit/661f90ad088fe9fad004ae6690bab061fb9a5f1d
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Context.h
Log Message:
-----------
[SandboxIR] Fix warning when building on Windows with clang-cl. NFC.
This fixes:
```
[2295/3381] Building CXX object lib\Passes\CMakeFiles\LLVMPasses.dir\PassBuilder.cpp.obj
In file included from C:\git\llvm-project\llvm\lib\Passes\PassBuilder.cpp:368:
In file included from C:\git\llvm-project\llvm\include\llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.h:16:
C:\git\llvm-project\llvm\include\llvm/SandboxIR/Context.h(73,16): warning: unqualified friend declaration referring to type outside of the nearest enclosing namespace is a Microsoft extension; add a nested name specifier [-Wmicrosoft-unqualified-friend]
73 | friend class Region; // For LLVMCtx.
| ^
| ::llvm::
1 warning generated.
```
Commit: 4cb320eb8124f6d47e5796fa8becbe22e9e8f841
https://github.com/llvm/llvm-project/commit/4cb320eb8124f6d47e5796fa8becbe22e9e8f841
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll
Log Message:
-----------
[RISCV] Add coverage for shuffles which if widened could be zipeven/zipodd
Commit: 96f95c9d89d8a1784d3865fa941fb1c510f4e2d7
https://github.com/llvm/llvm-project/commit/96f95c9d89d8a1784d3865fa941fb1c510f4e2d7
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
A llvm/test/tools/dsymutil/ARM/swiftmodule.test
A llvm/test/tools/dsymutil/Inputs/Binary.swiftmodule
A llvm/test/tools/dsymutil/Inputs/FromInterface.swiftmodule
M llvm/test/tools/dsymutil/yaml-object-address-rewrite.test
M llvm/tools/dsymutil/CMakeLists.txt
M llvm/tools/dsymutil/DebugMap.cpp
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M llvm/tools/dsymutil/RelocationMap.h
A llvm/tools/dsymutil/SwiftModule.cpp
A llvm/tools/dsymutil/SwiftModule.h
Log Message:
-----------
[dsymutil] Avoid copying binary swiftmodules built from textual
.swiftinterface files into the dSYM bundle. These typically come only
from the SDK (since textual interfaces require library evolution) and
thus are a waste of space to copy into the bundle.
The information about this is being parsed out of the control block,
which means duplicating 5 constants from the Swift frontend. If a file
cannot be parsed, dsymutil errs on the side of copying the file
anyway.
rdar://138186524
Relanding with additional linker dependency and moving the test into
the right target subdirectory.
Commit: 556fb4c9afb1e90415239fe3fb9c6e39af8ddc03
https://github.com/llvm/llvm-project/commit/556fb4c9afb1e90415239fe3fb9c6e39af8ddc03
Author: Michael Jones <michaelrj at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
Log Message:
-----------
[libc] Disable sin/cospif16 on aarch64 (#134918)
The tests are failing and it's unclear why. Disabling for now until a
fix can be implemented. See
https://github.com/llvm/llvm-project/issues/134917 for details.
Commit: 6f92339d9e764d8a8452f82eff690d8ef9070ac6
https://github.com/llvm/llvm-project/commit/6f92339d9e764d8a8452f82eff690d8ef9070ac6
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/i1-reg-usage.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/LoongArch/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/large-loop-rdx.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/reg-usage.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/X86/i1-reg-usage.ll
M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll
M llvm/test/Transforms/LoopVectorize/X86/reg-usage.ll
Log Message:
-----------
[LV] Compute register usage for interleaving on VPlan. (#126437)
Add a version of calculateRegisterUsage that works estimates register
usage for a VPlan. This mostly just ports the existing code, with some
updates to figure out what recipes will generate vectors vs scalars.
There are number of changes in the computed register usages, but they
should be more accurate w.r.t. to the generated vector code.
There are the following changes:
* Scalar usage increases in most cases by 1, as we always create a
scalar canonical IV, which is alive across the loop and is not
considered by the legacy implementation
* Output is ordered by insertion, now scalar registers are added first
due the canonical IV phi.
* Using the VPlan, we now also more precisely know if an induction will
be vectorized or scalarized.
Depends on https://github.com/llvm/llvm-project/pull/126415
PR: https://github.com/llvm/llvm-project/pull/126437
Commit: c4b343aeebe28462d13a773e05a5a667420abe7e
https://github.com/llvm/llvm-project/commit/c4b343aeebe28462d13a773e05a5a667420abe7e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/cuf-device-procedures02.cuf
Log Message:
-----------
[flang][cuda] Implicitly load cudadevice in host,device and grid_global procedures (#134905)
Commit: fed0f58547f801d775d8f763cca5fe4eddd325cb
https://github.com/llvm/llvm-project/commit/fed0f58547f801d775d8f763cca5fe4eddd325cb
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Avoid triggering host array error in host device proc (#134909)
we cannot enforce the detection of host arrays in device code when the
procedure is host, device. Relax the check for those.
Commit: 189baedb71b661851530644585b79fd5ff6efecb
https://github.com/llvm/llvm-project/commit/189baedb71b661851530644585b79fd5ff6efecb
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Add missing divider in tosa-infer-shapes.mlir (#134883)
Minor format fix.
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 320c13e09aea3234a171eaebfc2b263bd88a9869
https://github.com/llvm/llvm-project/commit/320c13e09aea3234a171eaebfc2b263bd88a9869
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/tools/dsymutil/CMakeLists.txt
Log Message:
-----------
[dsymutil] Add missing dependency
Commit: 8d90a541537fbed7d8c2a759b4ff46192a2c436e
https://github.com/llvm/llvm-project/commit/8d90a541537fbed7d8c2a759b4ff46192a2c436e
Author: Jann <jannh at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
Log Message:
-----------
[clang] Add comment about misleading alloc_size argument names (#134899)
Attr.td names the first alloc_size argument "ElemSizeParam" and the
second optional argument "NumElemsParam"; but the semantics of how the
two-argument version is used in practice is the opposite of that.
glibc declares calloc() like this, so the second alloc_size argument is
the element size:
```
extern void *calloc (size_t __nmemb, size_t __size)
__THROW __attribute_malloc__ __attribute_alloc_size__ ((1, 2)) __wur;
```
The Linux kernel declares array allocation functions like
`kmalloc_array_noprof()` the same way.
Add a comment explaining that the names used inside clang are
misleading.
Commit: dbcde15abac2670c17a7522bd957ab535f13c5cd
https://github.com/llvm/llvm-project/commit/dbcde15abac2670c17a7522bd957ab535f13c5cd
Author: lntue <lntue at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M libc/config/darwin/arm/entrypoints.txt
Log Message:
-----------
[libc] Add remaining math function entrypoints to darwin/arm. (#134920)
To match with what are currently available on linux/x86_64.
Commit: 156e2532edeaea9a60c37c041e8059fc5693122f
https://github.com/llvm/llvm-project/commit/156e2532edeaea9a60c37c041e8059fc5693122f
Author: Douglas <Douglas.Gliner at sony.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Writer.cpp
M llvm/include/llvm/Support/FileOutputBuffer.h
M llvm/lib/Support/FileOutputBuffer.cpp
M llvm/unittests/Support/FileOutputBufferTest.cpp
Log Message:
-----------
Revert "Rename `F_no_mmap` to `F_mmap`" (#134924)
Reverts llvm/llvm-project#134787
Causes the LIT test `lld\test\ELF\link-open-file.test` to fail on the
`llvm-clang-x86_64-sie-win` Build Bot. First instance of the failure
observed in: https://lab.llvm.org/buildbot/#/builders/46/builds/14847
Commit: 9f463056e6dd5ff94d35f8cc1f4aa4ecc87fa61d
https://github.com/llvm/llvm-project/commit/9f463056e6dd5ff94d35f8cc1f4aa4ecc87fa61d
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/SemaDecl.cpp
A clang/test/Sema/main-no-return-c89-1.c
A clang/test/Sema/main-no-return-c89-2.c
A clang/test/Sema/main-no-return-c89-3.c
Log Message:
-----------
[Clang] add ext warning for missing return in 'main' for C89 mode (#134617)
Fixes #21650
---
Clang currently inserts an implicit `return 0;` in `main()` when
compiling in `C89` mode, even though the `C89` standard doesn't require
this behavior. This patch changes that behavior by emitting a warning
instead of silently inserting the implicit return under `-pedantic`.
Commit: 8b34986072d744009a4a2be9692b5cc43cbe4cd3
https://github.com/llvm/llvm-project/commit/8b34986072d744009a4a2be9692b5cc43cbe4cd3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/segmented-loads-simple.ll
Log Message:
-----------
[SLP][NFC]Add a test with potential segmented loads, recognized as strided
Commit: c13436e516ed51bcc6f39b7b5c93d987e5fd7884
https://github.com/llvm/llvm-project/commit/c13436e516ed51bcc6f39b7b5c93d987e5fd7884
Author: Kevin McAfee <kmcafee at nvidia.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
A llvm/test/CodeGen/NVPTX/convert-fp-i8.ll
Log Message:
-----------
[SDAG][NVPTX] Add TLI hook to get preferred FP->INT opcode (#132470)
Extract the logic for choosing FP_TO_UINT vs FP_TO_SINT opcodes into a
TLI hook. This hook can be overridden by targets that prefer not to use
the default behavior of replacing FP_TO_UINT with FP_TO_SINT when both
are custom.
Implement an override for NVPTX to only change opcode when
FP_TO_UINT is not legal and FP_TO_SINT is legal.
Commit: a6853cd9af40eb330b9aec9762093be077e02f6c
https://github.com/llvm/llvm-project/commit/a6853cd9af40eb330b9aec9762093be077e02f6c
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
M clang/test/CodeGen/builtins-nvptx.c
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
M llvm/test/CodeGen/NVPTX/atomics.ll
Log Message:
-----------
[NVPTX] Auto-Upgrade llvm.nvvm.atomic.load.{inc,dec}.32 (#134111)
These intrinsics can be upgrade to an atomicrmw instruction.
Commit: 1a1698b5dde28debc8331ca933a226e79164949a
https://github.com/llvm/llvm-project/commit/1a1698b5dde28debc8331ca933a226e79164949a
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/test/CIR/CodeGen/basic.c
Log Message:
-----------
[CIR] Handle NullStmt (#134889)
The handling for NullStmt was going to an error saying the statement
handling wasn't implemented. It doesn't need any implementation. It is
sufficient for emitSimpleStmt to just return success for that statement
class. This change does that.
Commit: 76d722732d7b417438f7aee8c36d79bf4feb2e97
https://github.com/llvm/llvm-project/commit/76d722732d7b417438f7aee8c36d79bf4feb2e97
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
Log Message:
-----------
[lldb][Minidump] Fix MAX_WRITE_CHUNK_SIZE type
MinidumpFileBuilder calls std::min(MAX_WRITE_CHUNK_SIZE,
func_returning_uint64_t) and on Darwin this errors out with
unsigned long long & unsigned long not being the same type.
Commit: cfa6a5940e2dd29e88885028d77f8f357f3e773c
https://github.com/llvm/llvm-project/commit/cfa6a5940e2dd29e88885028d77f8f357f3e773c
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
Log Message:
-----------
[ctxprof] Don't lower instrumentation for `noreturn` functions (#134932)
`noreturn` functions are doubtfully interesting for performance optimization / profiling.
Commit: 1d0f8355b1cb31c150c5b338562894dca1389863
https://github.com/llvm/llvm-project/commit/1d0f8355b1cb31c150c5b338562894dca1389863
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang/include/flang/Support/Fortran.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Support/Fortran.cpp
M flang/test/Semantics/cuf10.cuf
Log Message:
-----------
[flang][cuda] Relax compatibility rules when host,device procedure is involved (#134926)
Relax too restrictive rule for host, device procedure.
Commit: b712068af26643d5fcbfd148b2084554b4e61650
https://github.com/llvm/llvm-project/commit/b712068af26643d5fcbfd148b2084554b4e61650
Author: k-kashapov <52855633+k-kashapov at users.noreply.github.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[nfc][Msan] Split PPC VarArg Helper into PPC32 and PPC64 (#134860)
As discussed in https://github.com/llvm/llvm-project/pull/131827, copied
ppc32 helper from ppc64. No functional changes have been made.
Commit: 1365b5b1ad5d09a738dbe97b5a72902186e24d80
https://github.com/llvm/llvm-project/commit/1365b5b1ad5d09a738dbe97b5a72902186e24d80
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/ClangScanDeps/prebuilt-modules-in-stable-dirs.c
Log Message:
-----------
[clang][DependencyScanning] Track dependencies from prebuilt modules to determine IsInStableDir (#132237)
When a module is being scanned, it can depend on modules that have
already been built from a pch dependency. When this happens, the pcm
files are reused for the module dependencies. When this is the case,
check if input files recorded from the PCMs come from the provided
stable directories transitively since the scanner will not have access
to the full set of file dependencies from prebuilt modules.
Commit: 9c38b2e5133bf4ffc3a349436e8884f91ff03b11
https://github.com/llvm/llvm-project/commit/9c38b2e5133bf4ffc3a349436e8884f91ff03b11
Author: Georgios Pinitas <georgios.pinitas at arm.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
[mlir][tosa] Fold PadOp to tensor operations (#132700)
Commit: 0428252db3841ddb96be1996cd2f3119d91b7b98
https://github.com/llvm/llvm-project/commit/0428252db3841ddb96be1996cd2f3119d91b7b98
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M compiler-rt/test/hwasan/TestCases/Linux/release-shadow.c
M compiler-rt/test/hwasan/TestCases/heap-buffer-overflow.c
M compiler-rt/test/hwasan/TestCases/tag-mismatch-border-address.c
Log Message:
-----------
Fix some page size assumptions in the HWASan tests.
Reviewers: fmayer, vitalybuka
Reviewed By: fmayer, vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/134941
Commit: 93096bf830e58a5a5fcb5cc12f08e8277b2725ab
https://github.com/llvm/llvm-project/commit/93096bf830e58a5a5fcb5cc12f08e8277b2725ab
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/hwasan/BUILD.gn
Log Message:
-----------
gn build: Add hwasan_preinit.cpp to hwasan static library to match CMake.
Reviewers: aeubanks
Reviewed By: aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/134942
Commit: d3a9d471f75f0b9b58e89d0662dae05c18660bba
https://github.com/llvm/llvm-project/commit/d3a9d471f75f0b9b58e89d0662dae05c18660bba
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/hwasan/BUILD.gn
Log Message:
-----------
gn build: Replace ${hwasan_name}-preinit with hwasan-preinit.
The driver only ever looks for the latter.
Reviewers: aeubanks
Reviewed By: aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/134943
Commit: bd2df7b0763e07d09f3a2bcb7096871101c14454
https://github.com/llvm/llvm-project/commit/bd2df7b0763e07d09f3a2bcb7096871101c14454
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/hwasan/BUILD.gn
Log Message:
-----------
gn build: Enable check-hwasan on aarch64 Linux.
Reviewers: aeubanks, vitalybuka
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/134944
Commit: 36cb81cced6cb9ab8a68a4313963d4ccf7669e76
https://github.com/llvm/llvm-project/commit/36cb81cced6cb9ab8a68a4313963d4ccf7669e76
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M compiler-rt/test/sanitizer_common/android_commands/android_compile.py
M compiler-rt/test/sanitizer_common/android_commands/android_run.py
Log Message:
-----------
Change python to python3 in some shebangs.
Reviewers: vitalybuka
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/134945
Commit: ab95005a05232030a16c2da7a8de867c2ded5f88
https://github.com/llvm/llvm-project/commit/ab95005a05232030a16c2da7a8de867c2ded5f88
Author: A. Jiang <de34 at live.cn>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__config
M libcxx/include/__iterator/aliasing_iterator.h
M libcxx/include/__type_traits/is_char_like_type.h
M libcxx/include/__type_traits/is_trivial.h
M libcxx/include/string
M libcxx/include/string_view
M libcxx/include/type_traits
M libcxx/test/libcxx/memory/allocator_void.trivial.compile.pass.cpp
M libcxx/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/libcxx.control_block_layout.pass.cpp
M libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
M libcxx/test/std/depr/depr.c.headers/stddef_h.compile.pass.cpp
M libcxx/test/std/language.support/support.types/byte.pass.cpp
M libcxx/test/std/language.support/support.types/max_align_t.compile.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/cpo.compile.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
M libcxx/test/std/ranges/range.req/range.view/view_base.compile.pass.cpp
M libcxx/test/std/strings/basic.string/char.bad.verify.cpp
M libcxx/test/std/strings/string.view/char.bad.verify.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtraits/types.compile.pass.cpp
M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp
M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_union.pass.cpp
A libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.deprecated.verify.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.general/ignore.pass.cpp
M libcxx/test/support/nasty_string.h
M libcxxabi/src/demangle/ItaniumDemangle.h
Log Message:
-----------
[libc++] P3247R2: Deprecate `is_trivial(_v)` (#130573)
Requirements on character-like types are updated unconditionally,
because `basic_string` does requires the default-constructibility. It
might be possible to make `basic_string_view` support classes with
non-public trivial default constructor, but this doesn't seem sensible.
libcxxabi's `ItaniumDemangle.h` is also updated to avoid deprecated
features.
Commit: ad01e0ac66441b28f9dc8acebd0dea5ea94a0f20
https://github.com/llvm/llvm-project/commit/ad01e0ac66441b28f9dc8acebd0dea5ea94a0f20
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/test/MC/RISCV/xqcilo-pseudos-invalid.s
A llvm/test/MC/RISCV/xqcilo-pseudos-valid.s
Log Message:
-----------
[RISCV][Xqcilo] Load/Store Pseudos (#134931)
This adds `qc.e.l<type> <reg>, <symbol>` and `qc.e.s<type> <reg>,
<symbol>, <reg>` pseudos for the corresponding Xqcilo instructions.
These emit as an AUIPC + (Standard) Load/Store pair, because this
sequence is shorter and can be relaxed back into the equivalent Xqcilo
load/store instruction in the right circumstances.
Commit: 4c90d977dbdcfed3c25e85472b61cc17eef915c0
https://github.com/llvm/llvm-project/commit/4c90d977dbdcfed3c25e85472b61cc17eef915c0
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/include/llvm/Analysis/ProfileSummaryInfo.h
M llvm/include/llvm/Transforms/Instrumentation/PGOCtxProfFlattening.h
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Analysis/ProfileSummaryInfo.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
M llvm/test/Analysis/CtxProfAnalysis/flatten-and-annotate.ll
M llvm/test/Analysis/CtxProfAnalysis/flatten-check-path.ll
M llvm/test/Analysis/CtxProfAnalysis/flatten-zero-path.ll
R llvm/test/Transforms/PGOProfile/ctx-prof-use-prelink.ll
Log Message:
-----------
[ctxprof] Use the flattened contextual profile pre-thinlink (#134723)
Flatten the profile pre-thinlink so that ThinLTO has something to work with for the parts of the binary that aren't covered by contextual profiles. Post-thinlink, the flattener is re-run and will actually change profile info, but just for the modules containing contextual trees ("specialized modules"). For the rest, the flattener just yanks out the instrumentation.
Commit: 442050ce8f10abaef8d7ff1e7dd28aa321d97e86
https://github.com/llvm/llvm-project/commit/442050ce8f10abaef8d7ff1e7dd28aa321d97e86
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
A llvm/test/Analysis/CtxProfAnalysis/flatten-insert-icp-mdprof.ll
Log Message:
-----------
[ctxprof] Flatten indirect call info in pre-thinlink compilation (#134766)
Same idea as in #134723 - flatten indirect call info in `"VP"` `MD_prof` metadata for the thinlinker, for cases that aren't covered by a contextual profile. If we don't ICP an indirect call target in the specialized module, the call will fall to the copy of that target outside the specialized module. If the graph under that target also has some indirect calls, in the absence of this pass, we'd have a steeper performance regression - because none of those would have a chance to be ICPed.
Commit: 34d586fdd548a34911caa068b557c4c0442f4d1d
https://github.com/llvm/llvm-project/commit/34d586fdd548a34911caa068b557c4c0442f4d1d
Author: Chao Chen <chao.chen at intel.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
Log Message:
-----------
[MLIR][XeGPU] Extend SGMapAttr and Add ConvertLayoutOp (#132425)
This PR improves the SGMapAttr to enable workgroup-level programming, representing the first step in expanding the XeGPU dialect from subgroup to workgroup level, and renames it to LayoutAttr
Commit: ccf22848da9f050e00f23c5d4bc412ab19e81645
https://github.com/llvm/llvm-project/commit/ccf22848da9f050e00f23c5d4bc412ab19e81645
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
A clang/test/CIR/CodeGen/if-consteval.cpp
A clang/test/CIR/CodeGen/if.cpp
A clang/test/CIR/Lowering/if.cir
A clang/test/CIR/Transforms/if.cir
Log Message:
-----------
[CIR] Add if statement support (#134333)
This patch adds support for if statements in the CIR dialect
Additionally, multiple RUN lines were introduced to improve codegen test
coverage
Commit: 9a762bb4e17969e69e4d1ce383fd0ccd41fb8e2e
https://github.com/llvm/llvm-project/commit/9a762bb4e17969e69e4d1ce383fd0ccd41fb8e2e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZclsd.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZilsd.td
Log Message:
-----------
[RISCV] Reuse existing tablegen classes for Zilsd/Zclsd. NFC (#134946)
We don't need pair specific classes. We just need to pass the pair
RegisterOperand to the existing classes we use for the base ISA and Zca.
For Zclsd, we need to changes the classes to take DAGOperand instead of
RegisterClass so we can pass a RegisterOperand.
Commit: 8ebc98c3b0905a8587d81350782f67576cc3737c
https://github.com/llvm/llvm-project/commit/8ebc98c3b0905a8587d81350782f67576cc3737c
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/Intrinsics/ieee_flag.f90
Log Message:
-----------
[flang] Update IEEE_SUPPORT_FLAG implementation (#134937)
Optional argument X in an IEEE_SUPPORT_FLAG(FLAG, X) call may be an
array.
Commit: deef64904f4afe612c900f6674c3480e121a7487
https://github.com/llvm/llvm-project/commit/deef64904f4afe612c900f6674c3480e121a7487
Author: brandb97 <77328395+brandb97 at users.noreply.github.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M compiler-rt/lib/asan/asan_fake_stack.cpp
A compiler-rt/test/asan/TestCases/fakeframe-right-redzone.cpp
M compiler-rt/test/ubsan/TestCases/Integer/bit-int.c
Log Message:
-----------
Poison unused tail of FakeFrame (#133689)
Fix [issue#133640](https://github.com/llvm/llvm-project/issues/133640)
Commit: cf7d34a54dbfa32f0fd8fa569654e8ea012abd72
https://github.com/llvm/llvm-project/commit/cf7d34a54dbfa32f0fd8fa569654e8ea012abd72
Author: lntue <lntue at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
R libc/src/__support/FPUtil/aarch64/sqrt.h
A libc/src/__support/FPUtil/arm/sqrt.h
M libc/src/__support/FPUtil/riscv/sqrt.h
M libc/src/__support/FPUtil/sqrt.h
M libc/src/__support/FPUtil/x86_64/sqrt.h
M libc/src/__support/macros/properties/cpu_features.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Extend fputil::sqrt to use floating point instructions for arm32. (#134499)
Commit: 333f2c334174ee2c3b70f6db01970b339459bfa6
https://github.com/llvm/llvm-project/commit/333f2c334174ee2c3b70f6db01970b339459bfa6
Author: Dirk Pranke <dpranke at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/utils/gn/.gn
M llvm/utils/gn/build/toolchain/BUILD.gn
M llvm/utils/gn/secondary/BUILD.gn
Log Message:
-----------
[gn] Use exec_script_allowlist in //llvm/utils/gn/.gn (#134172)
This requires gn_version >= 2207. Run llvm/utils/gn/get.py to
update your GN binary if you hit the assert added in this commit.
Commit: 02b377d8f7252b1acf6ea4fad55a101b6bc3fcf7
https://github.com/llvm/llvm-project/commit/02b377d8f7252b1acf6ea4fad55a101b6bc3fcf7
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/docs/CommandGuide/llc.rst
M llvm/include/llvm/MC/MCTargetOptions.h
M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
M llvm/test/CodeGen/RISCV/compress-opt-select.ll
M llvm/test/CodeGen/RISCV/hwasan-check-memaccess.ll
A llvm/test/tools/llc/instprinter-options.ll
M llvm/test/tools/llvm-mc/disassembler-options.test
M llvm/tools/llc/llc.cpp
M llvm/tools/llvm-mc/llvm-mc.cpp
Log Message:
-----------
[llc] Add -M for InstPrinter options
For many targets, llvm-objdump and llvm-mc
(https://reviews.llvm.org/D103004) support -M no-aliases (e.g.
`RISCVInstPrinter::applyTargetSpecificCLOption`).
This patch implements -M for llc.
While here, rename "DisassemblerOptions" in llvm-mc to the more
appropriate "InstPrinterOptions". For llvm-mc --assemble, there is no
disassembler involved.
Pull Request: https://github.com/llvm/llvm-project/pull/121078
Commit: 438ade1dfc61a12e8187096f82ced493d8e5c8fa
https://github.com/llvm/llvm-project/commit/438ade1dfc61a12e8187096f82ced493d8e5c8fa
Author: lntue <lntue at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M libc/src/__support/FPUtil/riscv/sqrt.h
Log Message:
-----------
[libc] Fix wrong #ifdef for riscv's sqrt. (#134964)
Commit: a1f1bbf0534f57990c13a0bf0e6645da011f1d9d
https://github.com/llvm/llvm-project/commit/a1f1bbf0534f57990c13a0bf0e6645da011f1d9d
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/add-before-shl.ll
M llvm/test/CodeGen/RISCV/kcfi.ll
M llvm/test/CodeGen/RISCV/patchable-function-entry.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-array.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-struct.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-vector-tuple.ll
M llvm/test/MC/RISCV/rv32p-valid.s
M llvm/test/MC/RISCV/rv64p-valid.s
M llvm/test/MC/RISCV/xqciac-valid.s
M llvm/test/MC/RISCV/xqcibi-valid.s
M llvm/test/MC/RISCV/xqcibm-valid.s
M llvm/test/MC/RISCV/xqcicli-valid.s
M llvm/test/MC/RISCV/xqcicm-valid.s
M llvm/test/MC/RISCV/xqciint-csrs-valid.s
M llvm/test/MC/RISCV/xqciint-valid.s
M llvm/test/MC/RISCV/xqciio-aliases-valid.s
M llvm/test/MC/RISCV/xqciio-valid.s
M llvm/test/MC/RISCV/xqcilb-valid.s
M llvm/test/MC/RISCV/xqcili-li.s
M llvm/test/MC/RISCV/xqcili-valid.s
M llvm/test/MC/RISCV/xqcilia-valid.s
M llvm/test/MC/RISCV/xqcilo-aliases-valid.s
M llvm/test/MC/RISCV/xqcilo-valid.s
M llvm/test/MC/RISCV/xqcisim-valid.s
M llvm/test/MC/RISCV/xqcisync-valid.s
M llvm/test/MC/RISCV/xrivosvisni-valid.s
M llvm/test/MC/RISCV/xrivosvizip-valid.s
Log Message:
-----------
[RISCV,test] Replace -riscv-no-aliases with -M no-aliases
now that llc supports `-M no-aliases` (along with llvm-mc and llvm-objdump)
(#121078).
Pull Request: https://github.com/llvm/llvm-project/pull/134879
Commit: 50428fb5e90b8318148abdf67eefe99bf8fd310b
https://github.com/llvm/llvm-project/commit/50428fb5e90b8318148abdf67eefe99bf8fd310b
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCWasmStreamer.h
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCAsmInfo.cpp
A llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCExpr.h
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
Log Message:
-----------
[WebAssembly] Add WebAssembly::Specifier
Move wasm-specific members outside of MCSymbolRefExpr::VariantKind (a
legacy interface I am eliminating). Most changes are mechanic and
similar to what I've done for many ELF targets (e.g. X86 #132149)
Notes:
* `fixSymbolsInTLSFixups` is replaced with `setTLS` in
`WebAssemblyWasmObjectWriter::getRelocType`, similar to what I've done
for many ELF targets.
* `SymA->setUsedInGOT()` in `recordRelocation` is moved to
`getRelocType`.
While here, rename "Modifier' to "Specifier":
> "Relocation modifier", though concise, suggests adjustments happen during the linker's relocation step rather than the assembler's expression evaluation. I landed on "relocation specifier" as the winner. It's clear, aligns with Arm and IBM’s usage, and fits the assembler's role seamlessly.
Pull Request: https://github.com/llvm/llvm-project/pull/133116
Commit: 1c09dd54d9be9470729130008bf82ee61a8bee63
https://github.com/llvm/llvm-project/commit/1c09dd54d9be9470729130008bf82ee61a8bee63
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
A llvm/test/CodeGen/LoongArch/lasx/vec-shuffle-bit-shift.ll
A llvm/test/CodeGen/LoongArch/lasx/vec-shuffle-byte-rotate.ll
A llvm/test/CodeGen/LoongArch/lasx/vec-shuffle-byte-shift.ll
A llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-byte-rotate.ll
Log Message:
-----------
[LoongArch] Pre-commit test for vector byte rotate & vector shift (lasx only) (#134839)
Commit: e6b55cd73bdbc36d4ce1b122b0e46dc2e6968950
https://github.com/llvm/llvm-project/commit/e6b55cd73bdbc36d4ce1b122b0e46dc2e6968950
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
Log Message:
-----------
MCExpr: Remove unused VK_GOT/VK_GOTPCREL
Commit: 43bb6bac2fde3a1847f39174ece5b848eced7dcf
https://github.com/llvm/llvm-project/commit/43bb6bac2fde3a1847f39174ece5b848eced7dcf
Author: Liao Chunyu <chunyu at iscas.ac.cn>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
Log Message:
-----------
[clang] Fix GCC -Wparentheses warning. NFC.
Without this gcc warned like:
clang/lib/Sema/SemaExprCXX.cpp:4656:74: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
4655 | From->isNullPointerConstant(Context,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4656 | Expr::NPC_ValueDependentIsNull) &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
4657 | "Expr must be null pointer constant!");
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Commit: bada5eb00940954eb6852de4098a80f3faf585a0
https://github.com/llvm/llvm-project/commit/bada5eb00940954eb6852de4098a80f3faf585a0
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/Object/TapiUniversal.h
M llvm/lib/Object/TapiUniversal.cpp
M llvm/test/tools/llvm-nm/tapi-files.test
Log Message:
-----------
[llvm-nm] Fix how inlined dylibs are reported from tbd files (#134498)
An Inlined library is a dylib that is reexported from an umbrella or
top-level library. When this is encoded in tbd files, ensure we are
reading the symbol table from the inlined library when
`--add-inlinedinfo` is used as opposed to the top-level lib.
resolves: rdar://147767733
Commit: c5e07fb86122669794808d6e857c88048f3a4926
https://github.com/llvm/llvm-project/commit/c5e07fb86122669794808d6e857c88048f3a4926
Author: lntue <lntue at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
A libc/src/__support/FPUtil/aarch64/sqrt.h
M libc/src/__support/FPUtil/arm/sqrt.h
M libc/src/__support/FPUtil/sqrt.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Use correct instruction for arm32 sqrt inline asm. (#134968)
https://godbolt.org/z/3jT7jdrs9
Commit: 50e218ad9cef3e59f8d8ba8c9c7b57ce9c213c52
https://github.com/llvm/llvm-project/commit/50e218ad9cef3e59f8d8ba8c9c7b57ce9c213c52
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/test/API/macosx/thread_start_bps/TestBreakpointsThreadInit.py
Log Message:
-----------
Revert "[lldb] Clear thread-creation breakpoints in ProcessGDBRemote::Clear (#134397)"
This reverts commit 232525f06942adb3b9977632e38dcd5f08c0642d.
This change is causing test crashes while running
TestCompletion.py on Darwin systems, most of the CI runs
have failed since it has been merged in.
Commit: 559540dc2738af0ab3f0b48eb4993095b8a8c627
https://github.com/llvm/llvm-project/commit/559540dc2738af0ab3f0b48eb4993095b8a8c627
Author: Lakshay Kumar <lakshayk at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-exegesis/AArch64/skip_unsupported_instructions.s
M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
Log Message:
-----------
[llvm-exegesis][AArch64] Disable pauth and ldgm as unsupported instructions (#132346)
[llvm-exegesis][AArch64] Disable pauth and ldgm as unsupported
instructions.
Skipping AUT and LDGM opcode variants which currently throws "illegal
instruction".
- Checking opcodes specifically for LDGM and AUT opcode instruction
variants.
- Gracefully exiting with " : Unsupported opcode:
isPointerAuth/isUncheckedAccess"
- Added corresponding test cases to check exit message.
Commit: 5c27511cb6ece1798e4503bcf8169359472871be
https://github.com/llvm/llvm-project/commit/5c27511cb6ece1798e4503bcf8169359472871be
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZilsd.td
A llvm/test/MC/RISCV/rv32zilsd-pseudos.s
Log Message:
-----------
[RISCV] Support Load/Store Global assembler pseudos for Zilsd. (#134950)
This adds support for 'ld \<rd\> \<symbol\>' and 'sd \<rd\>, \<symbol\>,
\<rt\>' to match what we do for RV32.
I've changed the interface to emitAuipcInstPair to use MCRegister
instead of MCOperand since we need to convert a GPRPair to GPR for
TmpReg for the load case.
Commit: fbc6241d3af45d74ac8e8d3728a57435aab1d5ec
https://github.com/llvm/llvm-project/commit/fbc6241d3af45d74ac8e8d3728a57435aab1d5ec
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/Mangled.h
M lldb/include/lldb/Core/RichManglingContext.h
M lldb/include/lldb/Target/Language.h
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/Mangled.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/RichManglingContext.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/Language/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/unittests/Core/CMakeLists.txt
M lldb/unittests/Core/RichManglingContextTest.cpp
M lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp
Log Message:
-----------
[LLDB] Refactored CPlusPlusLanguage::MethodName to break lldb-server dependencies (#132274)
This patch addresses the issue #129543.
After this patch the size of lldb-server is reduced by 9MB.
Co-authored-by: @bulbazord Alex Langford
Commit: d28b4d89166fb705577a2d3a329006f0c0e0aacc
https://github.com/llvm/llvm-project/commit/d28b4d89166fb705577a2d3a329006f0c0e0aacc
Author: Jim Lin <jim at andestech.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-stepvector.ll
M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
Log Message:
-----------
[RISCV] Lower BUILD_VECTOR with i64 type to VID on RV32 if possible (#132339)
The element type i64 of the BUILD_VECTOR is not legal on RV32. It
doesn't catch the VID pattern after being legalized for i64.
So try to customized lower it to VID during type legalization.
Commit: 154d360bf9ae87e9ec8af411bded022d1595ff4e
https://github.com/llvm/llvm-project/commit/154d360bf9ae87e9ec8af411bded022d1595ff4e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Avoid unnecessary MCOperand copies. NFC
Commit: 9b8f5340ddbae0587a46d3b5882fe40c135c6fd4
https://github.com/llvm/llvm-project/commit/9b8f5340ddbae0587a46d3b5882fe40c135c6fd4
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
Improve readability of <Target>GenCompressionInstEmitter. NFC (#134834)
Use indent() instead of manually indenting the code in the
CompressInstEmitter.cpp. Also modify the current indentation in a few
places.
Commit: 1d2f5ead05e85057b8d0c6198203b392e9f855f8
https://github.com/llvm/llvm-project/commit/1d2f5ead05e85057b8d0c6198203b392e9f855f8
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcili-invalid.s
A llvm/test/MC/RISCV/xqcili-relocations.s
Log Message:
-----------
[RISCV] Add symbol parsing support for Xqcili load large immediate instructions (#134581)
This patch adds support for parsing symbols in the Xqcili load large
immediate instructions. The 32 bit `qc.li` instructions uses the
`R_RISCV_QC_ABS20_U` relocation while the 48 bit `qc.e.li` instruction
uses the `R_RISCV_QC_E_32` relocation and the `InstFormatQC_EAI`
instruction format.
Vendor relocation support will be added in a later patch.
Commit: e6e0f5f17aa3c995709fc7623a0abbb5a32e4af5
https://github.com/llvm/llvm-project/commit/e6e0f5f17aa3c995709fc7623a0abbb5a32e4af5
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv64zbb.ll
Log Message:
-----------
[RISCV][test] Add tests for subtraction if above threshold
Commit: e348173bef7182c7cc609d0f000452d3acf4b65c
https://github.com/llvm/llvm-project/commit/e348173bef7182c7cc609d0f000452d3acf4b65c
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
M lldb/source/Symbol/UnwindPlan.cpp
Log Message:
-----------
Reapply "[lldb] Remove UnwindPlan::Row shared_ptrs" (#134821)
This reverts commit
https://github.com/llvm/llvm-project/commit/48864a52ef547ac0477271127b510dd9e9798219,
reapplying https://github.com/llvm/llvm-project/commit/d7cea2b18717f0cc31b7da4a03f772d89ee201db.
It also fixes the dangling
pointers caused by the previous version by creating copies of the Rows
in x86AssemblyInspectionEngine.
Commit: 523e249a6aed29fd2c36000c87838eface7324b4
https://github.com/llvm/llvm-project/commit/523e249a6aed29fd2c36000c87838eface7324b4
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-lower-all.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-lower-none.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-lower-all.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-lower-none.ll
Log Message:
-----------
[AMDGPU] Lower LDS in functions without sanitize_address in amdgpu-sw-lower-lds. (#131147)
Background:
"amdgpu-sw-lower-lds" pass lowers LDS accesses based on
"sanitize_address" attribute being tagged to kernel or non-kernels.
"amdgpu-sw-lower-lds" pass ideally should either lower all LDS accesses
or should not lower any based on if asan is enabled.
Issue:
But there has been cases when instrumented and non instrumented bitcodes
are linked and this is leading to few LDS being lowered correctly while
others are not. This typically leads to below error in the subsequent
pass.
"Module cannot mix absolute and non-absolute LDS GVs"
Fix:
This patch fixes this issue, by checking if any kernels in module are
tagged with "sanitize_address" attribute and then lowers all the LDS
accesses in all other kernels and non-kernels even though they do not
have "sanitize_address" attribute.
Commit: a54ad591135c07c3399a79c88ac14f5a4a2b0d12
https://github.com/llvm/llvm-project/commit/a54ad591135c07c3399a79c88ac14f5a4a2b0d12
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
R llvm/test/tools/llvm-exegesis/AArch64/skip_unsupported_instructions.s
M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
Log Message:
-----------
Revert "[llvm-exegesis][AArch64] Disable pauth and ldgm as unsupporte… (#134971)
…d instructions (#132346)"
This reverts commit 559540dc2738af0ab3f0b48eb4993095b8a8c627 as it has
cause build failures in llvm-clang-x86_64-gcc-ubuntu
Commit: c46be969f0b5f79788945da83dd4305617cff427
https://github.com/llvm/llvm-project/commit/c46be969f0b5f79788945da83dd4305617cff427
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbol.h
Log Message:
-----------
[MC] Optimize isInSection
Remove one call of getFragment. The `SetUsed` bit isn't need here.
Commit: f46d6412eb4ffa338df8d7b560a8e9f144d1d2a3
https://github.com/llvm/llvm-project/commit/f46d6412eb4ffa338df8d7b560a8e9f144d1d2a3
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/dsymutil/BUILD.gn
Log Message:
-----------
[gn build] Port 96f95c9d89d8
Commit: f04bfbc4162247c0074fdd87068053e4264dbefa
https://github.com/llvm/llvm-project/commit/f04bfbc4162247c0074fdd87068053e4264dbefa
Author: Steffen Larsen <steffen.larsen at intel.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_ternary_bitwise_function/bitwise-function.ll
Log Message:
-----------
[SPIRV] Support for SPV_INTEL_ternary_bitwise_function (#134866)
Adds support for the SPV_INTEL_ternary_bitwise_function extension,
adding;
* the OpBitwiseFunctionINTEL SPIR-V instruction, a ternary bitwise
function where the operation performed is determined by a look-up table
index,
* and the corresponding TernaryBitwiseFunctionINTEL capability.
See
https://github.khronos.org/SPIRV-Registry/extensions/INTEL/SPV_INTEL_ternary_bitwise_function.html.
Signed-off-by: Larsen, Steffen <steffen.larsen at intel.com>
Commit: 8877b913ae88c6ae43e859316489fe0469293131
https://github.com/llvm/llvm-project/commit/8877b913ae88c6ae43e859316489fe0469293131
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/LinuxSignals.cpp
Log Message:
-----------
[LLDB][MIPS] Fix signal SIGBUS number mismatch error on mips target (#132688)
Now, because we do not support mips debugging, if we compile LLVM on
mips target, would report error `static assertion failed:Value mismatch
for signal number SIGBUS`, so add this condition to avoid error.
Commit: 20d1888cbe2908ddb3ca0640cc2a3d199ffff499
https://github.com/llvm/llvm-project/commit/20d1888cbe2908ddb3ca0640cc2a3d199ffff499
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaUtilOps.td
Log Message:
-----------
[mlir][tosa] Update the description of `rescale` and `variable` ops (#134815)
Updates the description to align with the specification. Also includes
some small cleanup to `sigmoid`, to avoid confusion.
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Commit: ea7dd70b5326706141be2a768f2fd47ae71ee6a8
https://github.com/llvm/llvm-project/commit/ea7dd70b5326706141be2a768f2fd47ae71ee6a8
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/FuncUnwinders.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/source/Symbol/CompactUnwindInfo.cpp
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/UnwindPlan.cpp
Log Message:
-----------
[lldb] Remove unused UnwindPlan functions (#134630)
`GetLSDAAddress` and `GetPersonalityRoutinePtrAddress` are unused and
they create a bit of a problem for discontinuous functions, because the
unwind plan for these consists of multiple eh_frame descriptors and (at
least in theory) each of them could have a different value for these
entities.
We could say we only support functions for which these are always the
same, or create some sort of a Address2LSDA lookup map, but I think it's
better to leave this question to someone who actually needs this.
Commit: 08e080ee98832c2aec6f379b04f486bea18730cc
https://github.com/llvm/llvm-project/commit/08e080ee98832c2aec6f379b04f486bea18730cc
Author: Stefan Schmidt <thrimbor at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
A llvm/test/CodeGen/X86/pr134607.ll
Log Message:
-----------
[X86][SSE] Don't emit SSE2 load instructions in SSE1-only mode (#134547)
This fixes a regression I traced back to
https://github.com/llvm/llvm-project/commit/8b43c1be23119c1024bed0a8ce392bc73727e2e2
/ https://github.com/llvm/llvm-project/pull/79000
The regression caused an SSE2 instruction, `movsd`, to be emitted as a
replacement for an SSE instruction, `movaps` despite the target
potentially not supporting this instruction, such as when building with
clang using `-march=pentium3`.
Fixes #134607
Commit: 712c21336fa891f5b32254dd51b024178d61befb
https://github.com/llvm/llvm-project/commit/712c21336fa891f5b32254dd51b024178d61befb
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling-multi-exit.ll
A llvm/test/Transforms/LoopUnroll/AArch64/unrolling-multi-exit.ll
Log Message:
-----------
[AArch64] Enable unrolling for small multi-exit loops (#131998)
It can be highly beneficial to unroll small, two-block search loops
that look for a value in an array. An example of this would be
something that uses std::find to find a value in libc++. Older
versions of std::find in the libstdc++ headers are manually unrolled
in the source code, but this might change in newer releases where
the compiler is expected to either vectorise or unroll itself.
Commit: 53fa92dcad49466412a139eef223710bf5891213
https://github.com/llvm/llvm-project/commit/53fa92dcad49466412a139eef223710bf5891213
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang/test/Integration/OpenMP/atomic-capture-complex.f90
M llvm/include/llvm/Frontend/Atomic/Atomic.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/Atomic/Atomic.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[mlir][llvm][OpenMP] Hoist __atomic_load alloca (#132888)
Current implementation of `__atomic_compare_exchange` uses an alloca for
`__atomic_load`, leading to issues like
https://github.com/llvm/llvm-project/issues/120724. This PR hoists this
alloca to `AllocaIP`.
Fixes: https://github.com/llvm/llvm-project/issues/120724
Commit: 74f69c49fed894ba26b6174783e4c650d50344c5
https://github.com/llvm/llvm-project/commit/74f69c49fed894ba26b6174783e4c650d50344c5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-512-v16.ll
Log Message:
-----------
[X86] SimplifyDemandedVectorEltsForTargetNode - reduce the size of VPERMV v16f32/v16i32 nodes if the upper elements are not demanded (#134890)
Missed in #133923 - even without AVX512VL, we can replace VPERMV v16f32/v16i32 nodes with the AVX2 v8f32/v8i32 equivalents.
Commit: 949bf518fcc04285f40aa96a1c123bf0141fafd4
https://github.com/llvm/llvm-project/commit/949bf518fcc04285f40aa96a1c123bf0141fafd4
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M libclc/clc/lib/clspv/integer/clc_mul_hi.cl
M libclc/generic/include/clc/misc/shuffle.h
M libclc/generic/include/clc/misc/shuffle2.h
M libclc/generic/lib/misc/shuffle.cl
M libclc/generic/lib/misc/shuffle2.cl
Log Message:
-----------
[libclc][NFC] Fix up inconsistent copyright headers
Some files were accidentally given two copyright headers. Another was
missing one. This commit also converts that file's dos line endings to
unix ones and reformats a comment.
Commit: 2f6b06b2645810d72110cbfc1869c2d3b029dd2c
https://github.com/llvm/llvm-project/commit/2f6b06b2645810d72110cbfc1869c2d3b029dd2c
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/PostRAHazardRecognizer.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/PostRAHazardRecognizer.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/break-smem-soft-clauses.mir
M llvm/test/CodeGen/AMDGPU/dst-sel-hazard.mir
M llvm/test/CodeGen/AMDGPU/hazard-flat-instruction-valu-check.mir
Log Message:
-----------
[CodeGen][NPM] Port PostRAHazardRecognizer to NPM (#130066)
Commit: c80080ff7e105eb42d486ed473fa9c82fb518b0a
https://github.com/llvm/llvm-project/commit/c80080ff7e105eb42d486ed473fa9c82fb518b0a
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
A llvm/test/CodeGen/AArch64/aarch64-sve-fill-spill-pair.ll
Log Message:
-----------
[AArch64][SVE] Pair SVE fill/spill into LDP/STP with -msve-vector-bits=128. (#134068)
When compiling with -msve-vector-bits=128 or vscale_range(1, 1) and when
the offsets allow it, we can pair SVE LDR/STR instructions into Neon
LDP/STP.
For example, given:
```cpp
#include <arm_sve.h>
void foo(double const *ldp, double *stp) {
svbool_t pg = svptrue_b64();
svfloat64_t ld1 = svld1_f64(pg, ldp);
svfloat64_t ld2 = svld1_f64(pg, ldp+svcntd());
svst1_f64(pg, stp, ld1);
svst1_f64(pg, stp+svcntd(), ld2);
}
```
When compiled with `-msve-vector-bits=128`, we currently generate:
```gas
foo:
ldr z0, [x0]
ldr z1, [x0, #1, mul vl]
str z0, [x1]
str z1, [x1, #1, mul vl]
ret
```
With this patch, we instead generate:
```gas
foo:
ldp q0, q1, [x0]
stp q0, q1, [x1]
ret
```
This is an alternative, more targetted approach to #127500.
Commit: 0de48de36ee3583f1b7da3d388307266839f2347
https://github.com/llvm/llvm-project/commit/0de48de36ee3583f1b7da3d388307266839f2347
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
Log Message:
-----------
[MLIR][OpenMP] Improve loop wrapper op verifiers (#134833)
This patch revisits op verifiers for `LoopWrapperInterface` operations
to improve consistency across operations and to properly cover some
previously misreported cases.
Checks that should be done for these kinds of operations are documented
in the interface description.
Commit: 78c86b38b04bdabc76f631263ab0f4faf8698af6
https://github.com/llvm/llvm-project/commit/78c86b38b04bdabc76f631263ab0f4faf8698af6
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode][NFC] Avoid implicit integer conversion (#134983)
See discussion in https://github.com/llvm/llvm-project/pull/134672
Commit: a6edaeb824f138a364f4818c4261eb27153a12ac
https://github.com/llvm/llvm-project/commit/a6edaeb824f138a364f4818c4261eb27153a12ac
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
M llvm/test/Transforms/TailCallElim/debugloc.ll
Log Message:
-----------
[DebugInfo][TailCallElim] Use ret DILocation for return value selects (#134825)
In TailRecursionElimination we may insert a select before the return to
choose the return value if necessary; this select is effectively part of
the return statement, and so should use its DILocation.
Found using https://github.com/llvm/llvm-project/pull/107279.
Commit: 2896bbe1488b628a27cdf893fc8bcc5febe128db
https://github.com/llvm/llvm-project/commit/2896bbe1488b628a27cdf893fc8bcc5febe128db
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] getFauxShuffleMask - use std::iota for insert_subvector shuffle mask population. NFC.
Commit: 747214e59be67ec1088de2f9db5d46607bb59565
https://github.com/llvm/llvm-project/commit/747214e59be67ec1088de2f9db5d46607bb59565
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] getFauxShuffleMask - OR(BITCAST(SHUFFLE()),BITCAST(SHUFFLE())) patterns should return bitcasted source values (#134993)
Noticed while investigating #133947 regressions - if we peek through
bitcasts we can lose track of oneuse/combined nodes in shuffle combining
Currently the same codegen as combineX86ShufflesRecursively still peeks
through the bitcasts itself, but we will soon handle this consistently
as another part of #133947
Commit: bc09c7405547fe56a896386b152b667878d2d8c2
https://github.com/llvm/llvm-project/commit/bc09c7405547fe56a896386b152b667878d2d8c2
Author: alex-t <alex-t at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/ControlFlowUtils.cpp
M llvm/test/Transforms/FixIrreducible/basic.ll
Log Message:
-----------
[AMDGPU] Fix for ControlFlowUtils reconnectPHIs. (#132954)
Description: reconnectPHIs must consider self-loops to avoid PHI income
pair that does not exists anymore.
Commit: 258aa65197126fda5b3566734cd7d980343e332d
https://github.com/llvm/llvm-project/commit/258aa65197126fda5b3566734cd7d980343e332d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
ValueTracking: Do not look at users of constants for ephemeral values (#134618)
Commit: a29be9f28e8e0d4ca7a8a3cfdffe616ac780c754
https://github.com/llvm/llvm-project/commit/a29be9f28e8e0d4ca7a8a3cfdffe616ac780c754
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/Mangled.h
M lldb/include/lldb/Core/RichManglingContext.h
M lldb/include/lldb/Target/Language.h
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/Mangled.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/RichManglingContext.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/Language/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/unittests/Core/CMakeLists.txt
M lldb/unittests/Core/RichManglingContextTest.cpp
M lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp
Log Message:
-----------
Revert "[LLDB] Refactored CPlusPlusLanguage::MethodName to break lldb-server dependencies" (#134995)
Reverts llvm/llvm-project#132274
Broke a test on LLDB Widows on Arm:
https://lab.llvm.org/buildbot/#/builders/141/builds/7726
```
FAIL: test_dwarf (lldbsuite.test.lldbtest.TestExternCSymbols.test_dwarf)
<...>
self.assertTrue(self.res.Succeeded(), msg + output)
AssertionError: False is not true : Command 'expression -- foo()' did not return successfully
Error output:
error: Couldn't look up symbols:
int foo(void)
Hint: The expression tried to call a function that is not present in the target, perhaps because it was optimized out by the compiler.
```
Commit: aff139777ed315ea4d06c8543b2110c3dd989907
https://github.com/llvm/llvm-project/commit/aff139777ed315ea4d06c8543b2110c3dd989907
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
R llvm/test/CodeGen/AArch64/aarch64-sve-fill-spill-pair.ll
Log Message:
-----------
Revert "[AArch64][SVE] Pair SVE fill/spill into LDP/STP with -msve-vector-bits=128." (#134997)
Reverts llvm/llvm-project#134068
Caused a stage 2 build failure:
https://lab.llvm.org/buildbot/#/builders/41/builds/6016
```
FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o
/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/lib/Support -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/lib/Support -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/include -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/include -mcpu=neoverse-512tvb -mllvm -scalable-vectorization=preferred -mllvm -treat-scalable-fixed-error-as-warning=false -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Werror=global-constructors -O3 -DNDEBUG -std=c++17 -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o -MF lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o.d -o lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o -c /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/lib/Support/Caching.cpp
Opcode has unknown scale!
UNREACHABLE executed at ../llvm/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp:4530!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/lib/Support -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/lib/Support -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/include -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/include -mcpu=neoverse-512tvb -mllvm -scalable-vectorization=preferred -mllvm -treat-scalable-fixed-error-as-warning=false -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Werror=global-constructors -O3 -DNDEBUG -std=c++17 -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o -MF lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o.d -o lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o -c /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/lib/Support/Caching.cpp
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module '/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/lib/Support/Caching.cpp'.
4. Running pass 'AArch64 load / store optimization pass' on function '@"_ZNSt17_Function_handlerIFN4llvm8ExpectedISt8functionIFNS1_ISt10unique_ptrINS0_16CachedFileStreamESt14default_deleteIS4_EEEEjRKNS0_5TwineEEEEEjNS0_9StringRefESB_EZNS0_10localCacheESB_SB_SB_S2_IFvjSB_S3_INS0_12MemoryBufferES5_ISH_EEEEE3$_0E9_M_invokeERKSt9_Any_dataOjOSF_SB_"'
#0 0x0000b6eae9b67bf0 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang+++0x81c7bf0)
#1 0x0000b6eae9b65aec llvm::sys::RunSignalHandlers() (/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang+++0x81c5aec)
#2 0x0000b6eae9acd5f4 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
#3 0x0000f16c1aff28f8 (linux-vdso.so.1+0x8f8)
#4 0x0000f16c1aacf1f0 __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#5 0x0000f16c1aa8a67c gsignal ./signal/../sysdeps/posix/raise.c:27:6
#6 0x0000f16c1aa77130 abort ./stdlib/abort.c:81:7
#7 0x0000b6eae9ad6628 (/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang+++0x8136628)
#8 0x0000b6eae72e95a8 (/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang+++0x59495a8)
#9 0x0000b6eae74ca9a8 (anonymous namespace)::AArch64LoadStoreOpt::findMatchingInsn(llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>, (anonymous namespace)::LdStPairFlags&, unsigned int, bool) AArch64LoadStoreOptimizer.cpp:0:0
#10 0x0000b6eae74c85a8 (anonymous namespace)::AArch64LoadStoreOpt::tryToPairLdStInst(llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>&) AArch64LoadStoreOptimizer.cpp:0:0
#11 0x0000b6eae74c624c (anonymous namespace)::AArch64LoadStoreOpt::optimizeBlock(llvm::MachineBasicBlock&, bool) AArch64LoadStoreOptimizer.cpp:0:0
#12 0x0000b6eae74c429c (anonymous namespace)::AArch64LoadStoreOpt::runOnMachineFunction(llvm::MachineFunction&) AArch64LoadStoreOptimizer.cpp:0:0
```
Commit: e42f8609858f3e6ba004032a4750f0bcd5d466be
https://github.com/llvm/llvm-project/commit/e42f8609858f3e6ba004032a4750f0bcd5d466be
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/cse.fir
M flang/test/Fir/invalid.fir
Log Message:
-----------
[flang][nfc] Support volatility in Fir ops (#134858)
Part two of merging #132486. Support volatility in fir ops.
* Introduce a new operation fir.volatile_cast, whose only purpose is to
add or take away the volatility of an SSA value's type. The types must
be otherwise identical, and any other type conversions must be handled
by fir.convert. fir.convert will give an error if the volatility of the
inputs does not match, such that all changes to volatility must be
handled explicitly through fir.volatile_cast.
* Add memory effects to ops that read from or write to memory. The
precedent for this comes from the LLVM dialect (feb7beaf70) where
llvm.load/store ops with the volatile attribute report read/write
effects to a generic memory resource. This change is similar in spirit
but different in two ways: the volatility of an operation is determined
by the type of its memref, not an attribute on the op, and the memory
effects of a load- or store-like operation on a volatile reference type
are reported against a particular memory resource,
`VolatileMemoryResource`. This is so MLIR optimizations are able to
reorder operations that are not volatile around operations that are,
which we believe more precisely models LLVM's volatile memory semantics.
@vzakhari suggested this in #132486 citing LangRef. See
https://llvm.org/docs/LangRef.html#volatile-memory-accesses
Changes needed to generate IR with volatile types are not included in
this change, so it should be non-functional, containing only the changes
to Fir ops and op utilities that will be needed once we enable lowering
to generate volatile types.
Commit: 750da48b4aa52f317a4165cc6cf18acf5dd2a0a5
https://github.com/llvm/llvm-project/commit/750da48b4aa52f317a4165cc6cf18acf5dd2a0a5
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
R libcxx/include/__cxx03/__algorithm/clamp.h
M libcxx/include/__cxx03/__algorithm/count.h
M libcxx/include/__cxx03/__algorithm/equal.h
M libcxx/include/__cxx03/__algorithm/equal_range.h
M libcxx/include/__cxx03/__algorithm/find.h
M libcxx/include/__cxx03/__algorithm/find_end.h
R libcxx/include/__cxx03/__algorithm/fold.h
M libcxx/include/__cxx03/__algorithm/for_each.h
R libcxx/include/__cxx03/__algorithm/for_each_n.h
R libcxx/include/__cxx03/__algorithm/in_found_result.h
R libcxx/include/__cxx03/__algorithm/in_fun_result.h
R libcxx/include/__cxx03/__algorithm/in_in_out_result.h
R libcxx/include/__cxx03/__algorithm/in_in_result.h
R libcxx/include/__cxx03/__algorithm/in_out_out_result.h
R libcxx/include/__cxx03/__algorithm/in_out_result.h
M libcxx/include/__cxx03/__algorithm/includes.h
M libcxx/include/__cxx03/__algorithm/is_permutation.h
M libcxx/include/__cxx03/__algorithm/iterator_operations.h
R libcxx/include/__cxx03/__algorithm/lexicographical_compare_three_way.h
M libcxx/include/__cxx03/__algorithm/lower_bound.h
M libcxx/include/__cxx03/__algorithm/make_projected.h
M libcxx/include/__cxx03/__algorithm/max.h
M libcxx/include/__cxx03/__algorithm/min.h
M libcxx/include/__cxx03/__algorithm/min_element.h
R libcxx/include/__cxx03/__algorithm/min_max_result.h
M libcxx/include/__cxx03/__algorithm/minmax.h
M libcxx/include/__cxx03/__algorithm/minmax_element.h
M libcxx/include/__cxx03/__algorithm/partial_sort_copy.h
R libcxx/include/__cxx03/__algorithm/pstl.h
R libcxx/include/__cxx03/__algorithm/ranges_adjacent_find.h
R libcxx/include/__cxx03/__algorithm/ranges_all_of.h
R libcxx/include/__cxx03/__algorithm/ranges_any_of.h
R libcxx/include/__cxx03/__algorithm/ranges_binary_search.h
R libcxx/include/__cxx03/__algorithm/ranges_clamp.h
R libcxx/include/__cxx03/__algorithm/ranges_contains.h
R libcxx/include/__cxx03/__algorithm/ranges_contains_subrange.h
R libcxx/include/__cxx03/__algorithm/ranges_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_copy_backward.h
R libcxx/include/__cxx03/__algorithm/ranges_copy_if.h
R libcxx/include/__cxx03/__algorithm/ranges_copy_n.h
R libcxx/include/__cxx03/__algorithm/ranges_count.h
R libcxx/include/__cxx03/__algorithm/ranges_count_if.h
R libcxx/include/__cxx03/__algorithm/ranges_ends_with.h
R libcxx/include/__cxx03/__algorithm/ranges_equal.h
R libcxx/include/__cxx03/__algorithm/ranges_equal_range.h
R libcxx/include/__cxx03/__algorithm/ranges_fill.h
R libcxx/include/__cxx03/__algorithm/ranges_fill_n.h
R libcxx/include/__cxx03/__algorithm/ranges_find.h
R libcxx/include/__cxx03/__algorithm/ranges_find_end.h
R libcxx/include/__cxx03/__algorithm/ranges_find_first_of.h
R libcxx/include/__cxx03/__algorithm/ranges_find_if.h
R libcxx/include/__cxx03/__algorithm/ranges_find_if_not.h
R libcxx/include/__cxx03/__algorithm/ranges_find_last.h
R libcxx/include/__cxx03/__algorithm/ranges_for_each.h
R libcxx/include/__cxx03/__algorithm/ranges_for_each_n.h
R libcxx/include/__cxx03/__algorithm/ranges_generate.h
R libcxx/include/__cxx03/__algorithm/ranges_generate_n.h
R libcxx/include/__cxx03/__algorithm/ranges_includes.h
R libcxx/include/__cxx03/__algorithm/ranges_inplace_merge.h
R libcxx/include/__cxx03/__algorithm/ranges_is_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_is_heap_until.h
R libcxx/include/__cxx03/__algorithm/ranges_is_partitioned.h
R libcxx/include/__cxx03/__algorithm/ranges_is_permutation.h
R libcxx/include/__cxx03/__algorithm/ranges_is_sorted.h
R libcxx/include/__cxx03/__algorithm/ranges_is_sorted_until.h
R libcxx/include/__cxx03/__algorithm/ranges_iterator_concept.h
R libcxx/include/__cxx03/__algorithm/ranges_lexicographical_compare.h
R libcxx/include/__cxx03/__algorithm/ranges_lower_bound.h
R libcxx/include/__cxx03/__algorithm/ranges_make_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_max.h
R libcxx/include/__cxx03/__algorithm/ranges_max_element.h
R libcxx/include/__cxx03/__algorithm/ranges_merge.h
R libcxx/include/__cxx03/__algorithm/ranges_min.h
R libcxx/include/__cxx03/__algorithm/ranges_min_element.h
R libcxx/include/__cxx03/__algorithm/ranges_minmax.h
R libcxx/include/__cxx03/__algorithm/ranges_minmax_element.h
R libcxx/include/__cxx03/__algorithm/ranges_mismatch.h
R libcxx/include/__cxx03/__algorithm/ranges_move.h
R libcxx/include/__cxx03/__algorithm/ranges_move_backward.h
R libcxx/include/__cxx03/__algorithm/ranges_next_permutation.h
R libcxx/include/__cxx03/__algorithm/ranges_none_of.h
R libcxx/include/__cxx03/__algorithm/ranges_nth_element.h
R libcxx/include/__cxx03/__algorithm/ranges_partial_sort.h
R libcxx/include/__cxx03/__algorithm/ranges_partial_sort_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_partition.h
R libcxx/include/__cxx03/__algorithm/ranges_partition_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_partition_point.h
R libcxx/include/__cxx03/__algorithm/ranges_pop_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_prev_permutation.h
R libcxx/include/__cxx03/__algorithm/ranges_push_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_remove.h
R libcxx/include/__cxx03/__algorithm/ranges_remove_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_remove_copy_if.h
R libcxx/include/__cxx03/__algorithm/ranges_remove_if.h
R libcxx/include/__cxx03/__algorithm/ranges_replace.h
R libcxx/include/__cxx03/__algorithm/ranges_replace_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_replace_copy_if.h
R libcxx/include/__cxx03/__algorithm/ranges_replace_if.h
R libcxx/include/__cxx03/__algorithm/ranges_reverse.h
R libcxx/include/__cxx03/__algorithm/ranges_reverse_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_rotate.h
R libcxx/include/__cxx03/__algorithm/ranges_rotate_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_sample.h
R libcxx/include/__cxx03/__algorithm/ranges_search.h
R libcxx/include/__cxx03/__algorithm/ranges_search_n.h
R libcxx/include/__cxx03/__algorithm/ranges_set_difference.h
R libcxx/include/__cxx03/__algorithm/ranges_set_intersection.h
R libcxx/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h
R libcxx/include/__cxx03/__algorithm/ranges_set_union.h
R libcxx/include/__cxx03/__algorithm/ranges_shuffle.h
R libcxx/include/__cxx03/__algorithm/ranges_sort.h
R libcxx/include/__cxx03/__algorithm/ranges_sort_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_stable_partition.h
R libcxx/include/__cxx03/__algorithm/ranges_stable_sort.h
R libcxx/include/__cxx03/__algorithm/ranges_starts_with.h
R libcxx/include/__cxx03/__algorithm/ranges_swap_ranges.h
R libcxx/include/__cxx03/__algorithm/ranges_transform.h
R libcxx/include/__cxx03/__algorithm/ranges_unique.h
R libcxx/include/__cxx03/__algorithm/ranges_unique_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_upper_bound.h
R libcxx/include/__cxx03/__algorithm/sample.h
M libcxx/include/__cxx03/__algorithm/search.h
M libcxx/include/__cxx03/__algorithm/search_n.h
M libcxx/include/__cxx03/__algorithm/set_difference.h
M libcxx/include/__cxx03/__algorithm/set_intersection.h
R libcxx/include/__cxx03/__algorithm/shift_left.h
R libcxx/include/__cxx03/__algorithm/shift_right.h
M libcxx/include/__cxx03/__algorithm/simd_utils.h
M libcxx/include/__cxx03/__algorithm/sort.h
M libcxx/include/__cxx03/__algorithm/unwrap_range.h
M libcxx/include/__cxx03/__algorithm/upper_bound.h
R libcxx/include/__cxx03/__atomic/atomic_ref.h
R libcxx/include/__cxx03/__bit/bit_cast.h
R libcxx/include/__cxx03/__bit/bit_ceil.h
R libcxx/include/__cxx03/__bit/bit_floor.h
R libcxx/include/__cxx03/__bit/bit_log2.h
R libcxx/include/__cxx03/__bit/bit_width.h
R libcxx/include/__cxx03/__bit/byteswap.h
M libcxx/include/__cxx03/__bit/countl.h
M libcxx/include/__cxx03/__bit/countr.h
R libcxx/include/__cxx03/__bit/endian.h
R libcxx/include/__cxx03/__bit/has_single_bit.h
M libcxx/include/__cxx03/__bit/invert_if.h
M libcxx/include/__cxx03/__bit/popcount.h
M libcxx/include/__cxx03/__bit/rotate.h
M libcxx/include/__cxx03/__bit_reference
R libcxx/include/__cxx03/__charconv/chars_format.h
R libcxx/include/__cxx03/__charconv/from_chars_integral.h
R libcxx/include/__cxx03/__charconv/from_chars_result.h
R libcxx/include/__cxx03/__charconv/tables.h
R libcxx/include/__cxx03/__charconv/to_chars.h
R libcxx/include/__cxx03/__charconv/to_chars_base_10.h
R libcxx/include/__cxx03/__charconv/to_chars_floating_point.h
R libcxx/include/__cxx03/__charconv/to_chars_integral.h
R libcxx/include/__cxx03/__charconv/to_chars_result.h
R libcxx/include/__cxx03/__charconv/traits.h
R libcxx/include/__cxx03/__chrono/calendar.h
R libcxx/include/__cxx03/__chrono/concepts.h
R libcxx/include/__cxx03/__chrono/convert_to_tm.h
R libcxx/include/__cxx03/__chrono/day.h
M libcxx/include/__cxx03/__chrono/duration.h
R libcxx/include/__cxx03/__chrono/exception.h
R libcxx/include/__cxx03/__chrono/file_clock.h
R libcxx/include/__cxx03/__chrono/formatter.h
R libcxx/include/__cxx03/__chrono/hh_mm_ss.h
R libcxx/include/__cxx03/__chrono/leap_second.h
R libcxx/include/__cxx03/__chrono/literals.h
R libcxx/include/__cxx03/__chrono/local_info.h
R libcxx/include/__cxx03/__chrono/month.h
R libcxx/include/__cxx03/__chrono/month_weekday.h
R libcxx/include/__cxx03/__chrono/monthday.h
R libcxx/include/__cxx03/__chrono/ostream.h
R libcxx/include/__cxx03/__chrono/parser_std_format_spec.h
R libcxx/include/__cxx03/__chrono/statically_widen.h
R libcxx/include/__cxx03/__chrono/sys_info.h
M libcxx/include/__cxx03/__chrono/time_point.h
R libcxx/include/__cxx03/__chrono/time_zone.h
R libcxx/include/__cxx03/__chrono/time_zone_link.h
R libcxx/include/__cxx03/__chrono/tzdb.h
R libcxx/include/__cxx03/__chrono/tzdb_list.h
R libcxx/include/__cxx03/__chrono/weekday.h
R libcxx/include/__cxx03/__chrono/year.h
R libcxx/include/__cxx03/__chrono/year_month.h
R libcxx/include/__cxx03/__chrono/year_month_day.h
R libcxx/include/__cxx03/__chrono/year_month_weekday.h
R libcxx/include/__cxx03/__chrono/zoned_time.h
R libcxx/include/__cxx03/__compare/common_comparison_category.h
R libcxx/include/__cxx03/__compare/compare_partial_order_fallback.h
R libcxx/include/__cxx03/__compare/compare_strong_order_fallback.h
R libcxx/include/__cxx03/__compare/compare_three_way.h
R libcxx/include/__cxx03/__compare/compare_three_way_result.h
R libcxx/include/__cxx03/__compare/compare_weak_order_fallback.h
R libcxx/include/__cxx03/__compare/is_eq.h
R libcxx/include/__cxx03/__compare/ordering.h
R libcxx/include/__cxx03/__compare/partial_order.h
R libcxx/include/__cxx03/__compare/strong_order.h
R libcxx/include/__cxx03/__compare/synth_three_way.h
R libcxx/include/__cxx03/__compare/three_way_comparable.h
R libcxx/include/__cxx03/__compare/weak_order.h
R libcxx/include/__cxx03/__concepts/arithmetic.h
R libcxx/include/__cxx03/__concepts/assignable.h
R libcxx/include/__cxx03/__concepts/boolean_testable.h
R libcxx/include/__cxx03/__concepts/class_or_enum.h
R libcxx/include/__cxx03/__concepts/common_reference_with.h
R libcxx/include/__cxx03/__concepts/common_with.h
R libcxx/include/__cxx03/__concepts/constructible.h
R libcxx/include/__cxx03/__concepts/convertible_to.h
R libcxx/include/__cxx03/__concepts/copyable.h
R libcxx/include/__cxx03/__concepts/derived_from.h
R libcxx/include/__cxx03/__concepts/destructible.h
R libcxx/include/__cxx03/__concepts/different_from.h
R libcxx/include/__cxx03/__concepts/equality_comparable.h
R libcxx/include/__cxx03/__concepts/invocable.h
R libcxx/include/__cxx03/__concepts/movable.h
R libcxx/include/__cxx03/__concepts/predicate.h
R libcxx/include/__cxx03/__concepts/regular.h
R libcxx/include/__cxx03/__concepts/relation.h
R libcxx/include/__cxx03/__concepts/same_as.h
R libcxx/include/__cxx03/__concepts/semiregular.h
R libcxx/include/__cxx03/__concepts/swappable.h
R libcxx/include/__cxx03/__concepts/totally_ordered.h
R libcxx/include/__cxx03/__coroutine/coroutine_handle.h
R libcxx/include/__cxx03/__coroutine/coroutine_traits.h
R libcxx/include/__cxx03/__coroutine/noop_coroutine_handle.h
R libcxx/include/__cxx03/__coroutine/trivial_awaitables.h
R libcxx/include/__cxx03/__expected/bad_expected_access.h
R libcxx/include/__cxx03/__expected/expected.h
R libcxx/include/__cxx03/__expected/unexpect.h
R libcxx/include/__cxx03/__expected/unexpected.h
R libcxx/include/__cxx03/__filesystem/copy_options.h
R libcxx/include/__cxx03/__filesystem/directory_entry.h
R libcxx/include/__cxx03/__filesystem/directory_iterator.h
R libcxx/include/__cxx03/__filesystem/directory_options.h
R libcxx/include/__cxx03/__filesystem/file_status.h
R libcxx/include/__cxx03/__filesystem/file_time_type.h
R libcxx/include/__cxx03/__filesystem/file_type.h
R libcxx/include/__cxx03/__filesystem/filesystem_error.h
R libcxx/include/__cxx03/__filesystem/operations.h
R libcxx/include/__cxx03/__filesystem/path.h
R libcxx/include/__cxx03/__filesystem/path_iterator.h
R libcxx/include/__cxx03/__filesystem/perm_options.h
R libcxx/include/__cxx03/__filesystem/perms.h
R libcxx/include/__cxx03/__filesystem/recursive_directory_iterator.h
R libcxx/include/__cxx03/__filesystem/space_info.h
R libcxx/include/__cxx03/__filesystem/u8path.h
R libcxx/include/__cxx03/__format/buffer.h
R libcxx/include/__cxx03/__format/concepts.h
R libcxx/include/__cxx03/__format/container_adaptor.h
R libcxx/include/__cxx03/__format/enable_insertable.h
R libcxx/include/__cxx03/__format/escaped_output_table.h
R libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h
R libcxx/include/__cxx03/__format/format_arg.h
R libcxx/include/__cxx03/__format/format_arg_store.h
R libcxx/include/__cxx03/__format/format_args.h
R libcxx/include/__cxx03/__format/format_context.h
R libcxx/include/__cxx03/__format/format_error.h
R libcxx/include/__cxx03/__format/format_functions.h
R libcxx/include/__cxx03/__format/format_parse_context.h
R libcxx/include/__cxx03/__format/format_string.h
R libcxx/include/__cxx03/__format/format_to_n_result.h
R libcxx/include/__cxx03/__format/formatter.h
R libcxx/include/__cxx03/__format/formatter_bool.h
R libcxx/include/__cxx03/__format/formatter_char.h
R libcxx/include/__cxx03/__format/formatter_floating_point.h
R libcxx/include/__cxx03/__format/formatter_integer.h
R libcxx/include/__cxx03/__format/formatter_integral.h
R libcxx/include/__cxx03/__format/formatter_output.h
R libcxx/include/__cxx03/__format/formatter_pointer.h
R libcxx/include/__cxx03/__format/formatter_string.h
R libcxx/include/__cxx03/__format/formatter_tuple.h
R libcxx/include/__cxx03/__format/indic_conjunct_break_table.h
R libcxx/include/__cxx03/__format/parser_std_format_spec.h
R libcxx/include/__cxx03/__format/range_default_formatter.h
R libcxx/include/__cxx03/__format/range_formatter.h
R libcxx/include/__cxx03/__format/unicode.h
R libcxx/include/__cxx03/__format/width_estimation_table.h
R libcxx/include/__cxx03/__format/write_escaped.h
M libcxx/include/__cxx03/__functional/bind.h
R libcxx/include/__cxx03/__functional/bind_back.h
R libcxx/include/__cxx03/__functional/bind_front.h
R libcxx/include/__cxx03/__functional/boyer_moore_searcher.h
R libcxx/include/__cxx03/__functional/compose.h
R libcxx/include/__cxx03/__functional/default_searcher.h
R libcxx/include/__cxx03/__functional/function.h
R libcxx/include/__cxx03/__functional/invoke.h
R libcxx/include/__cxx03/__functional/is_transparent.h
M libcxx/include/__cxx03/__functional/mem_fn.h
R libcxx/include/__cxx03/__functional/not_fn.h
R libcxx/include/__cxx03/__functional/perfect_forward.h
R libcxx/include/__cxx03/__functional/ranges_operations.h
M libcxx/include/__cxx03/__functional/reference_wrapper.h
M libcxx/include/__cxx03/__functional/weak_result_type.h
R libcxx/include/__cxx03/__fwd/format.h
R libcxx/include/__cxx03/__fwd/mdspan.h
R libcxx/include/__cxx03/__fwd/memory_resource.h
R libcxx/include/__cxx03/__fwd/span.h
M libcxx/include/__cxx03/__fwd/string.h
R libcxx/include/__cxx03/__fwd/subrange.h
M libcxx/include/__cxx03/__hash_table
M libcxx/include/__cxx03/__iterator/advance.h
M libcxx/include/__cxx03/__iterator/bounded_iter.h
R libcxx/include/__cxx03/__iterator/common_iterator.h
R libcxx/include/__cxx03/__iterator/concepts.h
R libcxx/include/__cxx03/__iterator/counted_iterator.h
R libcxx/include/__cxx03/__iterator/data.h
R libcxx/include/__cxx03/__iterator/default_sentinel.h
M libcxx/include/__cxx03/__iterator/distance.h
R libcxx/include/__cxx03/__iterator/empty.h
R libcxx/include/__cxx03/__iterator/incrementable_traits.h
R libcxx/include/__cxx03/__iterator/indirectly_comparable.h
M libcxx/include/__cxx03/__iterator/insert_iterator.h
M libcxx/include/__cxx03/__iterator/istream_iterator.h
M libcxx/include/__cxx03/__iterator/istreambuf_iterator.h
R libcxx/include/__cxx03/__iterator/iter_move.h
R libcxx/include/__cxx03/__iterator/iter_swap.h
M libcxx/include/__cxx03/__iterator/iterator_traits.h
R libcxx/include/__cxx03/__iterator/iterator_with_data.h
R libcxx/include/__cxx03/__iterator/mergeable.h
M libcxx/include/__cxx03/__iterator/move_iterator.h
R libcxx/include/__cxx03/__iterator/move_sentinel.h
M libcxx/include/__cxx03/__iterator/next.h
R libcxx/include/__cxx03/__iterator/permutable.h
M libcxx/include/__cxx03/__iterator/prev.h
R libcxx/include/__cxx03/__iterator/projected.h
R libcxx/include/__cxx03/__iterator/ranges_iterator_traits.h
R libcxx/include/__cxx03/__iterator/readable_traits.h
R libcxx/include/__cxx03/__iterator/reverse_access.h
M libcxx/include/__cxx03/__iterator/reverse_iterator.h
R libcxx/include/__cxx03/__iterator/size.h
R libcxx/include/__cxx03/__iterator/sortable.h
R libcxx/include/__cxx03/__iterator/unreachable_sentinel.h
M libcxx/include/__cxx03/__iterator/wrap_iter.h
R libcxx/include/__cxx03/__math/special_functions.h
R libcxx/include/__cxx03/__mdspan/default_accessor.h
R libcxx/include/__cxx03/__mdspan/extents.h
R libcxx/include/__cxx03/__mdspan/layout_left.h
R libcxx/include/__cxx03/__mdspan/layout_right.h
R libcxx/include/__cxx03/__mdspan/layout_stride.h
R libcxx/include/__cxx03/__mdspan/mdspan.h
R libcxx/include/__cxx03/__memory/concepts.h
R libcxx/include/__cxx03/__memory/inout_ptr.h
R libcxx/include/__cxx03/__memory/out_ptr.h
R libcxx/include/__cxx03/__memory/ranges_construct_at.h
R libcxx/include/__cxx03/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__cxx03/__memory/shared_ptr.h
M libcxx/include/__cxx03/__memory/unique_ptr.h
R libcxx/include/__cxx03/__memory/uses_allocator_construction.h
R libcxx/include/__cxx03/__memory_resource/memory_resource.h
R libcxx/include/__cxx03/__memory_resource/monotonic_buffer_resource.h
R libcxx/include/__cxx03/__memory_resource/polymorphic_allocator.h
R libcxx/include/__cxx03/__memory_resource/pool_options.h
R libcxx/include/__cxx03/__memory_resource/synchronized_pool_resource.h
R libcxx/include/__cxx03/__memory_resource/unsynchronized_pool_resource.h
M libcxx/include/__cxx03/__mutex/once_flag.h
R libcxx/include/__cxx03/__node_handle
R libcxx/include/__cxx03/__numeric/exclusive_scan.h
R libcxx/include/__cxx03/__numeric/gcd_lcm.h
R libcxx/include/__cxx03/__numeric/inclusive_scan.h
R libcxx/include/__cxx03/__numeric/midpoint.h
R libcxx/include/__cxx03/__numeric/pstl.h
R libcxx/include/__cxx03/__numeric/reduce.h
R libcxx/include/__cxx03/__numeric/saturation_arithmetic.h
R libcxx/include/__cxx03/__numeric/transform_exclusive_scan.h
R libcxx/include/__cxx03/__numeric/transform_inclusive_scan.h
R libcxx/include/__cxx03/__numeric/transform_reduce.h
R libcxx/include/__cxx03/__ostream/print.h
R libcxx/include/__cxx03/__pstl/backend.h
R libcxx/include/__cxx03/__pstl/backend_fwd.h
R libcxx/include/__cxx03/__pstl/backends/default.h
R libcxx/include/__cxx03/__pstl/backends/libdispatch.h
R libcxx/include/__cxx03/__pstl/backends/serial.h
R libcxx/include/__cxx03/__pstl/backends/std_thread.h
R libcxx/include/__cxx03/__pstl/cpu_algos/any_of.h
R libcxx/include/__cxx03/__pstl/cpu_algos/cpu_traits.h
R libcxx/include/__cxx03/__pstl/cpu_algos/fill.h
R libcxx/include/__cxx03/__pstl/cpu_algos/find_if.h
R libcxx/include/__cxx03/__pstl/cpu_algos/for_each.h
R libcxx/include/__cxx03/__pstl/cpu_algos/merge.h
R libcxx/include/__cxx03/__pstl/cpu_algos/stable_sort.h
R libcxx/include/__cxx03/__pstl/cpu_algos/transform.h
R libcxx/include/__cxx03/__pstl/cpu_algos/transform_reduce.h
R libcxx/include/__cxx03/__pstl/dispatch.h
R libcxx/include/__cxx03/__pstl/handle_exception.h
M libcxx/include/__cxx03/__random/generate_canonical.h
M libcxx/include/__cxx03/__random/seed_seq.h
R libcxx/include/__cxx03/__random/uniform_random_bit_generator.h
R libcxx/include/__cxx03/__ranges/access.h
R libcxx/include/__cxx03/__ranges/all.h
R libcxx/include/__cxx03/__ranges/as_rvalue_view.h
R libcxx/include/__cxx03/__ranges/chunk_by_view.h
R libcxx/include/__cxx03/__ranges/common_view.h
R libcxx/include/__cxx03/__ranges/concepts.h
R libcxx/include/__cxx03/__ranges/container_compatible_range.h
R libcxx/include/__cxx03/__ranges/counted.h
R libcxx/include/__cxx03/__ranges/dangling.h
R libcxx/include/__cxx03/__ranges/data.h
R libcxx/include/__cxx03/__ranges/drop_view.h
R libcxx/include/__cxx03/__ranges/drop_while_view.h
R libcxx/include/__cxx03/__ranges/elements_view.h
R libcxx/include/__cxx03/__ranges/empty.h
R libcxx/include/__cxx03/__ranges/empty_view.h
R libcxx/include/__cxx03/__ranges/enable_borrowed_range.h
R libcxx/include/__cxx03/__ranges/enable_view.h
R libcxx/include/__cxx03/__ranges/filter_view.h
R libcxx/include/__cxx03/__ranges/from_range.h
R libcxx/include/__cxx03/__ranges/iota_view.h
R libcxx/include/__cxx03/__ranges/istream_view.h
R libcxx/include/__cxx03/__ranges/join_view.h
R libcxx/include/__cxx03/__ranges/lazy_split_view.h
R libcxx/include/__cxx03/__ranges/movable_box.h
R libcxx/include/__cxx03/__ranges/non_propagating_cache.h
R libcxx/include/__cxx03/__ranges/owning_view.h
R libcxx/include/__cxx03/__ranges/range_adaptor.h
R libcxx/include/__cxx03/__ranges/rbegin.h
R libcxx/include/__cxx03/__ranges/ref_view.h
R libcxx/include/__cxx03/__ranges/rend.h
R libcxx/include/__cxx03/__ranges/repeat_view.h
R libcxx/include/__cxx03/__ranges/reverse_view.h
R libcxx/include/__cxx03/__ranges/single_view.h
R libcxx/include/__cxx03/__ranges/size.h
R libcxx/include/__cxx03/__ranges/split_view.h
R libcxx/include/__cxx03/__ranges/subrange.h
R libcxx/include/__cxx03/__ranges/take_view.h
R libcxx/include/__cxx03/__ranges/take_while_view.h
R libcxx/include/__cxx03/__ranges/to.h
R libcxx/include/__cxx03/__ranges/transform_view.h
R libcxx/include/__cxx03/__ranges/view_interface.h
R libcxx/include/__cxx03/__ranges/views.h
R libcxx/include/__cxx03/__ranges/zip_view.h
R libcxx/include/__cxx03/__stop_token/atomic_unique_lock.h
R libcxx/include/__cxx03/__stop_token/intrusive_list_view.h
R libcxx/include/__cxx03/__stop_token/intrusive_shared_ptr.h
R libcxx/include/__cxx03/__stop_token/stop_callback.h
R libcxx/include/__cxx03/__stop_token/stop_source.h
R libcxx/include/__cxx03/__stop_token/stop_state.h
R libcxx/include/__cxx03/__stop_token/stop_token.h
M libcxx/include/__cxx03/__string/char_traits.h
M libcxx/include/__cxx03/__system_error/error_category.h
M libcxx/include/__cxx03/__system_error/error_code.h
M libcxx/include/__cxx03/__system_error/error_condition.h
R libcxx/include/__cxx03/__thread/formatter.h
M libcxx/include/__cxx03/__thread/id.h
R libcxx/include/__cxx03/__thread/jthread.h
M libcxx/include/__cxx03/__thread/thread.h
M libcxx/include/__cxx03/__tree
R libcxx/include/__cxx03/__tuple/ignore.h
R libcxx/include/__cxx03/__type_traits/common_reference.h
R libcxx/include/__cxx03/__type_traits/has_unique_object_representation.h
R libcxx/include/__cxx03/__type_traits/is_aggregate.h
R libcxx/include/__cxx03/__type_traits/is_nothrow_convertible.h
M libcxx/include/__cxx03/__type_traits/result_of.h
R libcxx/include/__cxx03/__utility/as_const.h
R libcxx/include/__cxx03/__utility/cmp.h
M libcxx/include/__cxx03/__utility/exception_guard.h
R libcxx/include/__cxx03/__utility/exchange.h
R libcxx/include/__cxx03/__utility/forward_like.h
R libcxx/include/__cxx03/__utility/in_place.h
M libcxx/include/__cxx03/__utility/pair.h
R libcxx/include/__cxx03/__utility/to_underlying.h
M libcxx/include/__cxx03/algorithm
R libcxx/include/__cxx03/any
M libcxx/include/__cxx03/array
M libcxx/include/__cxx03/atomic
R libcxx/include/__cxx03/barrier
R libcxx/include/__cxx03/bit
M libcxx/include/__cxx03/bitset
R libcxx/include/__cxx03/charconv
M libcxx/include/__cxx03/chrono
M libcxx/include/__cxx03/cmath
M libcxx/include/__cxx03/codecvt
R libcxx/include/__cxx03/compare
R libcxx/include/__cxx03/concepts
M libcxx/include/__cxx03/condition_variable
R libcxx/include/__cxx03/coroutine
M libcxx/include/__cxx03/deque
R libcxx/include/__cxx03/execution
R libcxx/include/__cxx03/expected
R libcxx/include/__cxx03/experimental/__simd/aligned_tag.h
R libcxx/include/__cxx03/experimental/__simd/declaration.h
R libcxx/include/__cxx03/experimental/__simd/reference.h
R libcxx/include/__cxx03/experimental/__simd/scalar.h
R libcxx/include/__cxx03/experimental/__simd/simd.h
R libcxx/include/__cxx03/experimental/__simd/simd_mask.h
R libcxx/include/__cxx03/experimental/__simd/traits.h
R libcxx/include/__cxx03/experimental/__simd/utility.h
R libcxx/include/__cxx03/experimental/__simd/vec_ext.h
R libcxx/include/__cxx03/experimental/iterator
R libcxx/include/__cxx03/experimental/memory
R libcxx/include/__cxx03/experimental/propagate_const
R libcxx/include/__cxx03/experimental/simd
R libcxx/include/__cxx03/experimental/type_traits
M libcxx/include/__cxx03/experimental/utility
M libcxx/include/__cxx03/ext/hash_map
M libcxx/include/__cxx03/ext/hash_set
R libcxx/include/__cxx03/filesystem
R libcxx/include/__cxx03/format
M libcxx/include/__cxx03/forward_list
M libcxx/include/__cxx03/fstream
M libcxx/include/__cxx03/functional
R libcxx/include/__cxx03/initializer_list
M libcxx/include/__cxx03/ios
M libcxx/include/__cxx03/istream
M libcxx/include/__cxx03/iterator
R libcxx/include/__cxx03/latch
M libcxx/include/__cxx03/list
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/map
R libcxx/include/__cxx03/mdspan
M libcxx/include/__cxx03/memory
R libcxx/include/__cxx03/memory_resource
M libcxx/include/__cxx03/mutex
R libcxx/include/__cxx03/numbers
M libcxx/include/__cxx03/numeric
R libcxx/include/__cxx03/optional
M libcxx/include/__cxx03/ostream
R libcxx/include/__cxx03/print
M libcxx/include/__cxx03/queue
M libcxx/include/__cxx03/random
R libcxx/include/__cxx03/ranges
M libcxx/include/__cxx03/regex
R libcxx/include/__cxx03/scoped_allocator
R libcxx/include/__cxx03/semaphore
M libcxx/include/__cxx03/set
R libcxx/include/__cxx03/shared_mutex
R libcxx/include/__cxx03/source_location
R libcxx/include/__cxx03/span
M libcxx/include/__cxx03/stack
R libcxx/include/__cxx03/stop_token
M libcxx/include/__cxx03/string
M libcxx/include/__cxx03/string_view
R libcxx/include/__cxx03/syncstream
M libcxx/include/__cxx03/system_error
M libcxx/include/__cxx03/thread
R libcxx/include/__cxx03/tuple
M libcxx/include/__cxx03/type_traits
M libcxx/include/__cxx03/typeindex
M libcxx/include/__cxx03/unordered_map
M libcxx/include/__cxx03/unordered_set
M libcxx/include/__cxx03/utility
M libcxx/include/__cxx03/valarray
R libcxx/include/__cxx03/variant
M libcxx/include/__cxx03/vector
M libcxx/include/any
M libcxx/include/barrier
M libcxx/include/bit
M libcxx/include/charconv
M libcxx/include/compare
M libcxx/include/concepts
M libcxx/include/coroutine
M libcxx/include/execution
M libcxx/include/expected
M libcxx/include/experimental/iterator
M libcxx/include/experimental/memory
M libcxx/include/experimental/propagate_const
M libcxx/include/experimental/simd
M libcxx/include/experimental/type_traits
M libcxx/include/filesystem
M libcxx/include/format
M libcxx/include/initializer_list
M libcxx/include/latch
M libcxx/include/mdspan
M libcxx/include/memory_resource
M libcxx/include/numbers
M libcxx/include/optional
M libcxx/include/print
M libcxx/include/ranges
M libcxx/include/scoped_allocator
M libcxx/include/semaphore
M libcxx/include/shared_mutex
M libcxx/include/source_location
M libcxx/include/span
M libcxx/include/stop_token
M libcxx/include/syncstream
M libcxx/include/tuple
M libcxx/include/variant
Log Message:
-----------
[libc++][C++03] Remove headers which don't provide anything (#134044)
This patch removes all of the frozen headers which don't provide
anything. Basically any header that's C++11-or-later is removed from the
frozen headers.
This is part of
https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc.
Commit: 6e7c40b83de8290d081bcd72b1c57e30aeb28989
https://github.com/llvm/llvm-project/commit/6e7c40b83de8290d081bcd72b1c57e30aeb28989
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
A clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
A clang/test/CIR/CodeGenOpenACC/parallel.c
A clang/test/CIR/CodeGenOpenACC/serial.c
Log Message:
-----------
[OpenACC][CIR] Initial patch to do OpenACC->IR lowering (#134936)
This patch adds some lowering code for Compute Constructs, plus the
infrastructure to someday do clauses. Doing this requires adding the
dialect to the CIRGenerator.
This patch does not however implement/correctly initialize lowering from
OpenACC-Dialect to anything lower however.
Commit: d54c28b9c1396fa92d9347ac1135da7907121cb8
https://github.com/llvm/llvm-project/commit/d54c28b9c1396fa92d9347ac1135da7907121cb8
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/hip-binding.hip
M clang/test/Driver/hip-phases.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
Log Message:
-----------
[HIP] use offload wrapper for non-device-only non-rdc (#132869)
Currently HIP still uses offload bundler for non-rdc mode for the new
offload driver.
This patch switches to use offload wrapper for non-device-only non-rdc
mode when new offload driver is enabled.
This makes the rdc and non-rdc compilation more consistent and speeds up
compilation since the offload wrapper supports parallel compilation for
different GPU arch's.
It is implemented by adding a linker wrapper action for each assemble
action of input file. Linker wrapper action differentiates this special
type of work vs normal linker wrapper work by the fle type. This type of
work results in object instead of image. The linker wrapper adds "-r"
for it and only includes the object file as input, not the host
libraries.
For device-only non-RDC mode, the new driver keeps the original
behavior.
Commit: 4f64da14953a998d3f6571d924116e160560c647
https://github.com/llvm/llvm-project/commit/4f64da14953a998d3f6571d924116e160560c647
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 750da48b4aa5
The .h removals was done by the sync script. I manually cleaned up
the remaining removals based on the output of
git show 750da48b4aa52f libcxx/include/CMakeLists.txt | rg '^- ' | rg -v '\.'
Commit: e24c9e7a0c61ed49e79433d405cb5157483ce691
https://github.com/llvm/llvm-project/commit/e24c9e7a0c61ed49e79433d405cb5157483ce691
Author: Zhaoxuan Jiang <jiangzhaoxuan94 at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
Log Message:
-----------
[IR] improve hashing quality for ValueInfo (#132917)
The current hashing quality for `ValueInfo` is poor because it uses
pointers as the hash value, which can negatively impact performance in
various places that use a `DenseSet`/`Map` of `ValueInfo`. In one
observed case, `ModuleSummaryIndex::propagateAttributes()` was taking
about 25 minutes to complete on a ThinLTO application. Profiling
revealed that the majority of this time was spent operating on the
`MarkedNonReadWriteOnly` set.
With the improved hashing, the execution time for `propagateAttributes`
is dramatically reduced to less than 10 seconds.
Commit: d99cdd7fba3cf48e2e2ca976b1747ee7b2e89625
https://github.com/llvm/llvm-project/commit/d99cdd7fba3cf48e2e2ca976b1747ee7b2e89625
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
Log Message:
-----------
MachineRegisterInfo: Remove trailing whitespace
Commit: e3f5a1bfc58b5c8db8ff8ac8390e790c7a396d4a
https://github.com/llvm/llvm-project/commit/e3f5a1bfc58b5c8db8ff8ac8390e790c7a396d4a
Author: Vy Nguyen <vyng at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/Telemetry.h
Log Message:
-----------
[LLDB][NFC]Also includes the error in log msg. (#134922)
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 54cdc758571731e2b8e6369cc84bbc27f1c1db59
https://github.com/llvm/llvm-project/commit/54cdc758571731e2b8e6369cc84bbc27f1c1db59
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/ROCm.h
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/hip-sanitize-options.hip
Log Message:
-----------
clang/AMDGPU: Stop looking for hip.bc in device libs (#134801)
This has been an empty library since January 2023
Commit: ad9f6d3ceef676093add49ed7e530171fd9b72d6
https://github.com/llvm/llvm-project/commit/ad9f6d3ceef676093add49ed7e530171fd9b72d6
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M offload/test/offloading/gpupgo/pgo1.c
M offload/test/offloading/gpupgo/pgo2.c
Log Message:
-----------
[PGO][Offload] Use %profdata in PGO tests (#135015)
So that the wrong llvm-profdata is not picked up from PATH.
Commit: fb73086dd2d359459888068e2b088032fc242111
https://github.com/llvm/llvm-project/commit/fb73086dd2d359459888068e2b088032fc242111
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/cse.fir
M flang/test/Fir/invalid.fir
Log Message:
-----------
Revert "[flang][nfc] Support volatility in Fir ops" (#135034)
Reverts llvm/llvm-project#134858
Fails to build when shared libraries are enabled:
https://lab.llvm.org/buildbot/#/builders/80/builds/12361
```
: && /usr/local/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported -Wno-unused-command-line-argument -Wstring-conversion -Wcovered-switch-default -Wno-nested-anon-types -O3 -DNDEBUG -Wl,-z,defs -Wl,-z,nodelete -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/./lib -Wl,--gc-sections -shared -Wl,-soname,libFIRDialect.so.21.0git -o lib/libFIRDialect.so.21.0git tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRAttr.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRDialect.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRType.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FirAliasTagOpInterface.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FortranVariableInterface.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/Inliner.cpp.o -Wl,-rpath,"\$ORIGIN/../lib:/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/lib:" lib/libCUFAttrs.so.21.0git lib/libFIRDialectSupport.so.21.0git lib/libLLVMAsmPrinter.so.21.0git lib/libMLIRBuiltinToLLVMIRTranslation.so.21.0git lib/libMLIROpenMPToLLVM.so.21.0git lib/libMLIRLLVMToLLVMIRTranslation.so.21.0git lib/libMLIRFuncToLLVM.so.21.0git lib/libMLIRArithToLLVM.so.21.0git lib/libMLIRArithAttrToLLVMConversion.so.21.0git lib/libMLIRArithTransforms.so.21.0git lib/libMLIRBufferizationTransforms.so.21.0git lib/libMLIRBufferizationDialect.so.21.0git lib/libMLIRSparseTensorDialect.so.21.0git lib/libMLIRSCFDialect.so.21.0git lib/libMLIRFuncTransforms.so.21.0git lib/libMLIRShardingInterface.so.21.0git lib/libMLIRMeshDialect.so.21.0git lib/libMLIRVectorDialect.so.21.0git lib/libMLIRTensorDialect.so.21.0git lib/libMLIRParallelCombiningOpInterface.so.21.0git lib/libMLIRMaskableOpInterface.so.21.0git lib/libMLIRMaskingOpInterface.so.21.0git lib/libMLIRVectorInterfaces.so.21.0git lib/libMLIRControlFlowToLLVM.so.21.0git lib/libMLIRControlFlowDialect.so.21.0git lib/libMLIRMemRefToLLVM.so.21.0git lib/libMLIRLLVMCommonConversion.so.21.0git lib/libMLIRMemRefUtils.so.21.0git lib/libMLIRAffineDialect.so.21.0git lib/libMLIRMemRefDialect.so.21.0git lib/libMLIRArithUtils.so.21.0git lib/libMLIRComplexDialect.so.21.0git lib/libMLIRArithDialect.so.21.0git lib/libMLIRCastInterfaces.so.21.0git lib/libMLIRInferIntRangeCommon.so.21.0git lib/libMLIRShapedOpInterfaces.so.21.0git lib/libMLIRDialect.so.21.0git lib/libMLIRDialectUtils.so.21.0git lib/libMLIROpenMPDialect.so.21.0git lib/libMLIROpenACCMPCommon.so.21.0git lib/libMLIRTargetLLVMIRExport.so.21.0git lib/libMLIRDLTIDialect.so.21.0git lib/libMLIRLLVMIRTransforms.so.21.0git lib/libMLIRTransforms.so.21.0git lib/libMLIRUBDialect.so.21.0git lib/libMLIRRuntimeVerifiableOpInterface.so.21.0git lib/libMLIRFuncDialect.so.21.0git lib/libMLIRNVVMDialect.so.21.0git lib/libMLIRTranslateLib.so.21.0git lib/libMLIRParser.so.21.0git lib/libMLIRBytecodeReader.so.21.0git lib/libMLIRAsmParser.so.21.0git lib/libMLIRTransformUtils.so.21.0git lib/libMLIRSubsetOpInterface.so.21.0git lib/libMLIRValueBoundsOpInterface.so.21.0git lib/libMLIRDestinationStyleOpInterface.so.21.0git lib/libMLIRRewrite.so.21.0git lib/libMLIRRewritePDL.so.21.0git lib/libMLIRPDLToPDLInterp.so.21.0git lib/libMLIRPass.so.21.0git lib/libMLIRAnalysis.so.21.0git lib/libMLIRInferIntRangeInterface.so.21.0git lib/libMLIRLoopLikeInterface.so.21.0git lib/libMLIRPresburger.so.21.0git lib/libMLIRViewLikeInterface.so.21.0git lib/libMLIRPDLInterpDialect.so.21.0git lib/libMLIRPDLDialect.so.21.0git lib/libLLVMFrontendOpenMP.so.21.0git lib/libLLVMTransformUtils.so.21.0git lib/libMLIRLLVMDialect.so.21.0git lib/libMLIRInferTypeOpInterface.so.21.0git lib/libMLIRControlFlowInterfaces.so.21.0git lib/libMLIRDataLayoutInterfaces.so.21.0git lib/libMLIRFunctionInterfaces.so.21.0git lib/libMLIRCallInterfaces.so.21.0git lib/libMLIRMemorySlotInterfaces.so.21.0git lib/libMLIRSideEffectInterfaces.so.21.0git lib/libMLIRIR.so.21.0git lib/libLLVMBitWriter.so.21.0git lib/libLLVMAnalysis.so.21.0git lib/libLLVMAsmParser.so.21.0git lib/libLLVMBitReader.so.21.0git lib/libMLIRSupport.so.21.0git lib/libLLVMCore.so.21.0git lib/libLLVMRemarks.so.21.0git lib/libLLVMBinaryFormat.so.21.0git lib/libLLVMTargetParser.so.21.0git lib/libLLVMSupport.so.21.0git -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/lib && :
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::CharBoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir12CharBoxValue4dumpEv[_ZNK3fir12CharBoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::CharBoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::PolymorphicValue::dump() const':
FIROps.cpp:(.text._ZNK3fir16PolymorphicValue4dumpEv[_ZNK3fir16PolymorphicValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::PolymorphicValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::ArrayBoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir13ArrayBoxValue4dumpEv[_ZNK3fir13ArrayBoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::ArrayBoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::CharArrayBoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir17CharArrayBoxValue4dumpEv[_ZNK3fir17CharArrayBoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::CharArrayBoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::ProcBoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir12ProcBoxValue4dumpEv[_ZNK3fir12ProcBoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::ProcBoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::BoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir8BoxValue4dumpEv[_ZNK3fir8BoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::BoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::MutableBoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir15MutableBoxValue4dumpEv[_ZNK3fir15MutableBoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::MutableBoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::ExtendedValue::dump() const':
FIROps.cpp:(.text._ZNK3fir13ExtendedValue4dumpEv[_ZNK3fir13ExtendedValue4dumpEv]+0x18): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::ExtendedValue const&)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
```
Commit: 076318bd78f5ed338350841075316a75d89ecd9b
https://github.com/llvm/llvm-project/commit/076318bd78f5ed338350841075316a75d89ecd9b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/reordered-loads.ll
Log Message:
-----------
[SLP]Use proper order when calculating costs for geps/extracts to correctly identify profitability
Need to reorder properly the scalars, when evaluating the costs for the
external uses/geps to prevent differences in the calculating of the
profitability costs, used to choose between gather/compressed loads.
Fixes https://github.com/llvm/llvm-project/pull/132099#issuecomment-2789627454
Commit: 5083e80c14a5c1f0ab40b5df95771ebbdda1adb2
https://github.com/llvm/llvm-project/commit/5083e80c14a5c1f0ab40b5df95771ebbdda1adb2
Author: ivangarcia44 <36650061+ivangarcia44 at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/MemRef/canonicalize.mlir
Log Message:
-----------
Folding extract_strided_metadata input into reinterpret_cast (#134845)
We can always fold the input of a extract_strided_metadata operator to
the input of a reinterpret_cast operator, because they point to the same
memory. Note that the reinterpret_cast does not use the layout of its
input memref, only its base memory pointer which is the same as the base
pointer returned by the extract_strided_metadata operator and the base
pointer of the extract_strided_metadata memref input.
Operations like expand_shape, collapse_shape, and subview are lowered to
a pair of extract_strided_metadata and reinterpret_cast like this:
%base_buffer, %offset, %sizes:2, %strides:2 =
memref.extract_strided_metadata %input_memref :
memref<ID1x...xIDNxBaseType> -> memref<f32>, index, index, index, index,
index
%reinterpret_cast = memref.reinterpret_cast %base_buffer to offset:
[%o1], sizes: [%d1,...,%dN], strides: [%s1,...,%N] : memref<f32> to
memref<OD1x...xODNxBaseType >
In many cases the input of the extract_strided_metadata input can be
passed directly into the input of the reinterpret_cast operation like
this (see how %base_buffer is replaced by %input_memref in the
reinterpret_cast above and the input type is updated):
%base_buffer, %offset, %sizes:2, %strides:2 =
memref.extract_strided_metadata %input_memref :
memref<ID1x...xIDNxBaseType> -> memref<f32>, index, index, index, index,
index
%reinterpret_cast = memref.reinterpret_cast %input_memref to offset:
[%o1], sizes: [%d1,...,%dN], strides: [%s1,...,%N] :
memref<ID1x...xIDNxBaseType> to memref<OD1x...xODNxBaseType >
When dealing with static dimensions, the extract_strided_metatdata will
become deadcode and we end up only with a reinterpret_cast:
%reinterpret_cast = memref.reinterpret_cast %input_memref to offset:
[%o1], sizes: [%d1,...,%dN], strides: [%s1,...,%N] :
memref<ID1x...xIDNxBaseType> to memref<OD1x...xODNxBaseType >
Note that reinterpret_cast only reads the base memory pointer from the
input memref (%input_memref above), which is equivalent to the
%base_buffer returned by the extract_strided_metadata operation. Hence
it is legal always to use the extract_strided_metadata input memref
directly in the reinterpret_cast. Note that since this is a pointer,
this operation is legal even when the base pointer values are modified
between the operation pair.
@matthias-springer
@joker-eph
@sahas3
@Hanumanth04
@dixinzhou
@rafaelubalmw
---------
Co-authored-by: Ivan Garcia <igarcia at vdi-ah2ddp-178.dhcp.mathworks.com>
Commit: b0338c3d6c6d9787232e07ceff56ef161c357602
https://github.com/llvm/llvm-project/commit/b0338c3d6c6d9787232e07ceff56ef161c357602
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M libclc/clc/include/clc/integer/gentype.inc
M libclc/clc/include/clc/math/gentype.inc
A libclc/clc/include/clc/misc/clc_shuffle.h
A libclc/clc/include/clc/misc/clc_shuffle2.h
A libclc/clc/include/clc/misc/shuffle2_decl.inc
A libclc/clc/include/clc/misc/shuffle2_def.inc
A libclc/clc/include/clc/misc/shuffle_decl.inc
A libclc/clc/include/clc/misc/shuffle_def.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/misc/clc_shuffle.cl
A libclc/clc/lib/generic/misc/clc_shuffle2.cl
M libclc/generic/include/clc/misc/shuffle.h
M libclc/generic/lib/misc/shuffle.cl
M libclc/generic/lib/misc/shuffle2.cl
Log Message:
-----------
[libclc] Move shuffle/shuffle2 to the CLC library (#135000)
This commit moves the shuffle and shuffle2 builtins to the CLC library.
In so doing it makes the headers simpler and re-usable for other builtin
layers to hook into the CLC functions, if they wish.
An additional gentype utility has been made available, which provides a
consistent vector-size-or-1 macro for use.
The existing __CLC_VECSIZE is defined but empty which is useful in
certain applications, such as in concatenation with a type to make a
correctly sized scalar or vector type. However, this isn't usable in the
same preprocessor lines when wanting to check for specific vector sizes,
as e.g., '__CLC_VECSIZE == 2' resolves to '== 2' which is invalid. In
local testing this is also useful for the geometric builtins which are
only available for scalar types and vector types of 2, 3, or 4 elements.
No codegen changes are observed, except the internal shuffle/shuffle2
utility functions are no longer made publicly available.
Commit: b010554d2d1fbe19091b2b3996e0477b70fcd84b
https://github.com/llvm/llvm-project/commit/b010554d2d1fbe19091b2b3996e0477b70fcd84b
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/IR/Verifier.cpp
Log Message:
-----------
[IR] Reduce use of getCalledFunction in Verifier. NFCI. (#134978)
This is mostly just a simplification. getCalledFunction is a best-effort
thing so the verifier should not be relying on it in most cases, except
for intrinsic calls where we are guaranteed that the called function is
known, but most of those cases can be handled with
CallBase::getIntrinsicID instead.
---------
Co-authored-by: Tim Gymnich <tim at gymni.ch>
Commit: 68ee56d15020b4fa7f3c5443b4be6504481957d4
https://github.com/llvm/llvm-project/commit/68ee56d15020b4fa7f3c5443b4be6504481957d4
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/Basic/Targets/SPIR.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[clang][OpenMP][SPIR-V] Fix addrspace of global constants (#134399)
SPIR-V has strict address space rules, constant globals cannot be in the
default address space.
The OMPIRBuilder change was required for lit tests to pass, we were
missing an addrspacecast.
---------
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 9344b2196cbc36cdc577314bbb2b889606ba6820
https://github.com/llvm/llvm-project/commit/9344b2196cbc36cdc577314bbb2b889606ba6820
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/InlineFunction.cpp
A llvm/test/Transforms/Inline/X86/inline-landing-pad.ll
Log Message:
-----------
[DebugInfo][Inlining] Propagate inlined `resume` source loc to new br (#134826)
As part of inlining an invoke instruction, we may replace an inlined
resume instruction with a simple branch to the landing pad block. When
this happens, we should also propagate the resume's DILocation to this
branch, which this patch enables.
Found using https://github.com/llvm/llvm-project/pull/107279.
Commit: a00a61d59bf1c1f142c8e08b74a0f26991122f7a
https://github.com/llvm/llvm-project/commit/a00a61d59bf1c1f142c8e08b74a0f26991122f7a
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/include/mlir/IR/OpImplementation.h
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/SparseTensor/invalid.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
M mlir/test/mlir-tblgen/attr-or-type-format.mlir
Log Message:
-----------
[mlir][IR] Improve error message when parsing incorrect type (#134984)
Improve error messages when parsing an incorrect type.
Before:
```
invalid kind of type specified
```
After:
```
invalid kind of type specified: expected builtin.tensor, but found 'tensor<*xi32>'
```
This error message is produced when a certain operand/result type is
expected according to an op's TableGen definition, but a different type
is parsed. Type constraints (which may have nice error messages) are
checked after parsing a type. If an incorrect type is parsed, we never
get to the point of printing type constraint error messages. This may
discourage users from specifying C++ classes with type constraints.
(Explicitly specifying C++ classes is beneficial because the
auto-generated C++ code will have richer type information; explicit
casts are unnecessary, etc.) See #134981 for an example where specifying
additional type information with type constraints (e.g.,
`LLVM_AnyVector`) lead to worse error messages.
Note: In order to generate a better error message, the parser must
retrieve a type's name from the C++ class. TableGen-generated type
classes always have a `name` field, but hand-written C++ type classes
may not. The `HasStaticName` template was copied from
`DialectImplementation.h` (`HasStaticDialectName`).
Commit: 5039bf4e26f07f9082e42374a342b3f52236e3fc
https://github.com/llvm/llvm-project/commit/5039bf4e26f07f9082e42374a342b3f52236e3fc
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
A llvm/test/Transforms/Inline/X86/inline-simplified-branch-dbg-loc.ll
Log Message:
-----------
[DebugInfo][Inline] Propagate source locs when simplifying cond branches (#134827)
During inlining, we may opportunistically simplify conditional branches
(incl. switches) to unconditional branches if, after inlining, their
destination is fixed. While we do this, we should propagate any
DILocation attached to the original branch to the simplified branch,
which this patch enables.
Found using https://github.com/llvm/llvm-project/pull/107279.
Commit: 94f6f0334d13d6090c7c31387e50358d5b244313
https://github.com/llvm/llvm-project/commit/94f6f0334d13d6090c7c31387e50358d5b244313
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/eq-of-parts.ll
M llvm/test/Transforms/InstCombine/onehot_merge.ll
Log Message:
-----------
[InstCombine] handle trunc to i1 in foldLogOpOfMaskedICmps. (#128861)
proof: https://alive2.llvm.org/ce/z/pu8WmX
fixes #128778
Commit: c4667c5aa6edbf03bc56c104e52da9b6ef1eb3a1
https://github.com/llvm/llvm-project/commit/c4667c5aa6edbf03bc56c104e52da9b6ef1eb3a1
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/Reassociate.cpp
A llvm/test/Transforms/Reassociate/debugloc-factoring-add.ll
Log Message:
-----------
[DebugInfo][Reassociate] Propagate source locs when factoring add->mul (#134829)
As part of reassociating add instructions, we may factorize some of the
adds and produce a mul instruction; this patch propagates the source
location of the reassociated tree of instructions to the new mul.
Found using https://github.com/llvm/llvm-project/pull/107279.
Commit: b6f4ec72f90dc31b0d8665ed59ce34844858dd5a
https://github.com/llvm/llvm-project/commit/b6f4ec72f90dc31b0d8665ed59ce34844858dd5a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/Delta.cpp
Log Message:
-----------
llvm-reduce: Add scope braces (#135025)
Commit: 1e9f46c1b34cce7df4f2b4c392ccb0a540d7a6a6
https://github.com/llvm/llvm-project/commit/1e9f46c1b34cce7df4f2b4c392ccb0a540d7a6a6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
Log Message:
-----------
llvm-reduce: Fix taking wrong error before exit (#135020)
Commit: 840b366d47115ecf2f7034721c13576e6f14cd82
https://github.com/llvm/llvm-project/commit/840b366d47115ecf2f7034721c13576e6f14cd82
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
Log Message:
-----------
CodeGen: Remove redundant arguments to defusechain_instr_iterator (#135023)
ByOperand must be false, this is implied by the iterator type.
The instr_iterator cases are a separate implementation from the single
operand defusechain_iterator.
Additionally ByInstr and ByBundle are mutually exclusive.
Commit: 2a7f12e37b450e24869c0e82b39a4894d69b8d3e
https://github.com/llvm/llvm-project/commit/2a7f12e37b450e24869c0e82b39a4894d69b8d3e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
Log Message:
-----------
CodeGen: Trim redundant template argument from defusechain_iterator (#135024)
Only one of ByOperand, ByInstr, or ByBundle should be true. Replace
ByBundle with !ByInstr, and assert that both are not used.
Commit: 751c3f51eb65b493bf2fc2c6b2788f89e16a1fbe
https://github.com/llvm/llvm-project/commit/751c3f51eb65b493bf2fc2c6b2788f89e16a1fbe
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Update TileOp infer shape (#134732)
update to use getConstShapeValues in TileOp's shape inference
Signed-off-by: Tai Ly <tai.ly at arm.com>
Co-authored-by: Tai Ly <tai.ly at arm.com>
Commit: 543e5f5842fe576bb8752f04345b2cc995e5bb50
https://github.com/llvm/llvm-project/commit/543e5f5842fe576bb8752f04345b2cc995e5bb50
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/SemaCXX/align_value.cpp
M clang/test/SemaCXX/alloc-align-attr.cpp
M clang/test/SemaCXX/builtin-assume-aligned-tmpl.cpp
Log Message:
-----------
Fix crash with align_value diagnostic reporting (#135013)
We were passing the address of a local variable to a call to Diag()
which then tried to use the object after its lifetime ended, resulting
in crashes. We no longer pass the temporary object any longer.
Fixes #26612
Commit: c0480738cb3f4b2db47b77f5b18f9819cb995373
https://github.com/llvm/llvm-project/commit/c0480738cb3f4b2db47b77f5b18f9819cb995373
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/pointer-overflow.c
Log Message:
-----------
[Clang][CodeGen] Respect -fwrapv-pointer when emitting struct GEPs (#134269)
This patch turns off inbounds/nuw flags for member accesses when
`-fwrapv-pointer` is set.
Closes https://github.com/llvm/llvm-project/issues/132449.
It is required by https://github.com/llvm/llvm-project/pull/130734.
Commit: f0131c327ea1432ff45f385aac28fe5d57005244
https://github.com/llvm/llvm-project/commit/f0131c327ea1432ff45f385aac28fe5d57005244
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/Delta.cpp
Log Message:
-----------
llvm-reduce: Avoid reallocating per chunk iteration (#135029)
Commit: 0eb560a4dee05a55781f44c60c8164aef3bcf04c
https://github.com/llvm/llvm-project/commit/0eb560a4dee05a55781f44c60c8164aef3bcf04c
Author: Hans Wennborg <hans at hanshq.net>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/Coroutines/CoroInstr.h
A llvm/test/Transforms/Coroutines/coro-early-twice.ll
Log Message:
-----------
[Coroutines] Don't assert if coro-early runs more than once (#134854)
The pass may run more than once during ThinLTO for example (see bug).
Maybe that means those pass pipelines aren't optimal, but the pass
should be resilient against that.
Fixes #134054
Commit: 40f9bb9e250d5762ee9cedabc7b7704c4cccddde
https://github.com/llvm/llvm-project/commit/40f9bb9e250d5762ee9cedabc7b7704c4cccddde
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/test/Assembler/2010-02-05-FunctionLocalMetadataBecomesNull.ll
M llvm/test/Assembler/DIDefaultTemplateParam.ll
M llvm/test/Assembler/metadata-use-uselistorder.ll
M llvm/test/Bitcode/dbg-record-roundtrip.ll
R llvm/test/CodeGen/AArch64/fast-isel-branch-uncond-debug.ll
M llvm/test/tools/llvm-reduce/debug-metadata-verifier.ll
R llvm/test/tools/llvm-reduce/remove-args-dbg-intrinsics.ll
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/tools/llvm-reduce/llvm-reduce.cpp
M llvm/tools/verify-uselistorder/verify-uselistorder.cpp
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Eliminate another debug-info variation flag (#133917)
The "preserve input debug-info format" flag allowed some tooling to opt
into not seeing the new debug records yet, and to not autoupgrade. This
was good at the time, but un-necessary now that we'll be ditching
intrinsics shortly.
It also hides errors now: verify-uselistorder was hardcoding this flag
to on, and as a result it hasn't seen debug records before. Thus, we
missed a uselistorder variation: constant-expressions such as GEPs can
be contained within debug records and completely isolated from the value
hierachy, see the metadata-use-uselistorder.ll test. These Values didn't
get ordered, but were legitimate uses of constants like "i64 0", and we
now run into difficulty handling that. The patch to AsmWriter seeks
Values to order even through debug-info now.
Finally there are a few intrinsics-tests relying on this flag that we
can just delete, such as one in llvm-reduce and another few in the
LocalTest unit tests. For the fast-isel test, it was added in
https://reviews.llvm.org/D67703 explicitly for checking the size of
blocks without debug-info and in 1525abb9c94 the codepath it tests moved
towards being sunsetted. It'll be totally redundant once RemoveDIs is on
permanently.
Note that there's now no explicit test for the textual-IR autoupgrade
path. I submit that we can rely on the thousands of .ll files where
we've only been bothered to update the outputs, not the inputs, to debug
records.
Commit: 1aed6ad906f54d6d3fd94b7f46aaeb4cc7e516ec
https://github.com/llvm/llvm-project/commit/1aed6ad906f54d6d3fd94b7f46aaeb4cc7e516ec
Author: Jan Leyonberg <jan_sjodin at yahoo.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/omptarget-multi-reduction.mlir
Log Message:
-----------
[MLIR][OpenMP] Enable multiple variables for target teams reductions (#134903)
This patch enables multiple reductions to be used in a reduction clause
inside target regions for GPU offloading.
---------
Co-authored-by: Sergio Afonso <safonsof at amd.com>
Commit: f76d9da6d8a005d019c63775b2205c5a8cb3da67
https://github.com/llvm/llvm-project/commit/f76d9da6d8a005d019c63775b2205c5a8cb3da67
Author: k-kashapov <52855633+k-kashapov at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[MSan] Update type for MsanMetadataPtrForLoadN and MsanMetadataPtrForStoreN (#135040)
Changed last parameter type for `MsanMetadataPtrForLoadN` and
`MsanMetadataPtrForStoreN` from `i64` to `IntptrTy` to keep it
consistent with call in `getShadowOriginPtrKernelNoVec`
Co-authored-by: Kamil Kashapov <kashapov at ispras.ru>
Commit: c8d49e9dd2e7e4c64a0a70bf05b0e6c83b04841a
https://github.com/llvm/llvm-project/commit/c8d49e9dd2e7e4c64a0a70bf05b0e6c83b04841a
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
Log Message:
-----------
[alpha.webkit.RetainPtrCtorAdoptChecker] Recognize mutableCopy from literal as +1 (#132350)
This PR adds the support for recognizing the return value of copy /
mutableCopy as +1. isAllocInit and isOwned now traverses
PseudoObjectExpr to its last semantic expression.
Commit: 6d4d017fd250b77e832bec37644f3446d0be6d6c
https://github.com/llvm/llvm-project/commit/6d4d017fd250b77e832bec37644f3446d0be6d6c
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/IPO/StripSymbols.h
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/IPO/StripSymbols.cpp
A llvm/test/Transforms/StripSymbols/strip-cg-profile.ll
M llvm/tools/llvm-extract/llvm-extract.cpp
Log Message:
-----------
[llvm-extract] Delete dead `CG Profile` edges (#134940)
When `llvm-extract`-ing a function, and the `CG Profile` flag is present in the original module, we end up with lots of `!{null, null, i64 1234}` entries for call edges that have disappeared as result of the removed functions.
This patch fixes that by adding a pass to `llvm-extract` that finds `CG Profile` edges with one or both operands `null` and removes them. This results in a cleaner output.
Commit: fa273e1158edb109e1c392a0d8e18b711d0e008e
https://github.com/llvm/llvm-project/commit/fa273e1158edb109e1c392a0d8e18b711d0e008e
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
A clang/test/CIR/CodeGenOpenACC/data.c
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
Log Message:
-----------
[OpenACC][CIR] Implement 'data' construct lowering (#135038)
This patch does the lowering of the OpenACC 'data' construct, which
requires getting the `default` clause (as `data` requires at least 1 of
a list of clauses, and this is the easiest one). The lowering of the
clauses appears to happen in 1 of 2 ways: a- as an operand. or b- as an
attribute.
This patch adds infrastructure to lower as an attribute, as that is how
'data' works.
In addition to that, it changes the OpenACCClauseVisitor a bit, which
previously just required that each of the derived classes have all of
the clauses covered. This patch modifies it so that the visitor directly
calls the derived class from its visitor function, which leaves the
base-class ones the ability to defer to a generic function. This was
previously like this because I had some use cases that I didn't end up
using, and the 'generic' function here seems much more useful.
Commit: f4d87c42a6021e49fd972f5f5d863d35b267d17f
https://github.com/llvm/llvm-project/commit/f4d87c42a6021e49fd972f5f5d863d35b267d17f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/reduction-templates.h
M flang-rt/lib/cuda/allocatable.cpp
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/array-constructor.cpp
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/character.cpp
M flang-rt/lib/runtime/copy.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/extrema.cpp
M flang-rt/lib/runtime/findloc.cpp
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
M flang-rt/lib/runtime/misc-intrinsic.cpp
M flang-rt/lib/runtime/temporary-stack.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/transformational.cpp
M flang-rt/unittests/Evaluate/reshape.cpp
M flang-rt/unittests/Runtime/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang-rt/unittests/Runtime/CUDA/Memory.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang-rt/unittests/Runtime/CommandTest.cpp
M flang-rt/unittests/Runtime/TemporaryStack.cpp
M flang-rt/unittests/Runtime/tools.h
M flang/include/flang/Runtime/allocatable.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
[flang][cuda] Add asyncId to allocate entry point (#134947)
Commit: e98d1380a0e7282ef23d1f583f0a4e02d608eb1d
https://github.com/llvm/llvm-project/commit/e98d1380a0e7282ef23d1f583f0a4e02d608eb1d
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
Log Message:
-----------
[NFC][LLDB] Clean up comments/some code in MinidumpFileBuilder (#134961)
I've recently been working on Minidump File Builder again, and some of
the comments are out of date, and many of the includes are no longer
used. This patch removes unneeded includes and rephrases some comments
to better fit with the current state after the read write chunks pr.
Commit: 0c2a6f2d62ec66065e88f70e7b863cbcb43b3307
https://github.com/llvm/llvm-project/commit/0c2a6f2d62ec66065e88f70e7b863cbcb43b3307
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/X86Vector/CMakeLists.txt
M mlir/include/mlir/Dialect/X86Vector/X86Vector.td
M mlir/include/mlir/Dialect/X86Vector/X86VectorDialect.h
A mlir/include/mlir/Dialect/X86Vector/X86VectorInterfaces.td
M mlir/include/mlir/Target/LLVMIR/Dialect/All.h
R mlir/include/mlir/Target/LLVMIR/Dialect/X86Vector/X86VectorToLLVMIRTranslation.h
M mlir/lib/Dialect/X86Vector/IR/X86VectorDialect.cpp
M mlir/lib/Dialect/X86Vector/Transforms/CMakeLists.txt
M mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
M mlir/lib/Target/LLVMIR/CMakeLists.txt
M mlir/lib/Target/LLVMIR/Dialect/CMakeLists.txt
R mlir/lib/Target/LLVMIR/Dialect/X86Vector/CMakeLists.txt
R mlir/lib/Target/LLVMIR/Dialect/X86Vector/X86VectorToLLVMIRTranslation.cpp
M mlir/test/Dialect/X86Vector/legalize-for-llvm.mlir
M mlir/test/Target/LLVMIR/x86vector.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][x86vector] Simplify intrinsic generation (#133692)
Replaces separate x86vector named intrinsic operations with direct calls
to LLVM intrinsic functions.
This rework reduces the number of named ops leaving only high-level MLIR
equivalents of whole intrinsic classes e.g., variants of AVX512 dot on
BF16 inputs. Dialect conversion applies LLVM intrinsic name mangling
further simplifying lowering logic.
The separate conversion step translating x86vector intrinsics into LLVM
IR is also eliminated. Instead, this step is now performed by the
existing llvm dialect infrastructure.
RFC:
https://discourse.llvm.org/t/rfc-simplify-x86-intrinsic-generation/85581
Commit: 9dc6551fa8944668af475e09bcb16dd81ab1bd00
https://github.com/llvm/llvm-project/commit/9dc6551fa8944668af475e09bcb16dd81ab1bd00
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Extract a check for a SplitVectorize node, NFC
Reviewers: RKSimon, hiraditya
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/134896
Commit: 505a7e7d1cd2b77ab67ef82ac4abc9cf94271adb
https://github.com/llvm/llvm-project/commit/505a7e7d1cd2b77ab67ef82ac4abc9cf94271adb
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
A clang/test/CIR/CodeGenOpenACC/init.c
A clang/test/CIR/CodeGenOpenACC/shutdown.c
Log Message:
-----------
[OpenACC][CIR] Support for `init` and `shutdown` lowering
These two are very simple. they don't require any clauses and don't
have an associated statement, so they have very simple output. This
patch implements them, but none of the associated clauses.
Commit: 3ef2bb6d0bcfcdcfde72d8aa3354e72c2366e22b
https://github.com/llvm/llvm-project/commit/3ef2bb6d0bcfcdcfde72d8aa3354e72c2366e22b
Author: metkarpoonam <poonammetkar at microsoft.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
A clang/test/CodeGenHLSL/builtins/dst.hlsl
Log Message:
-----------
[HLSL] Implement the dst HLSL Function (#133828)
fixes: https://github.com/llvm/llvm-project/issues/99108
Implement dst algorithm in the hlsl_intrinsics.h and added test cases
for HLSL codegen and sema
- [x] implement dst algorithm in the hlsl_intrinsics.h
- [x] Add HLSL codegen tests to clang/test/CodeGenHLSL/builtins/dst.hlsl
- [x] Add sema tests to clang/test/SemaHLSL/BuiltIns/dst-errors.hlsl
Commit: ef1088f70356b18dd9af066ed6cea0c8b8d7800a
https://github.com/llvm/llvm-project/commit/ef1088f70356b18dd9af066ed6cea0c8b8d7800a
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/test/CodeGen/AArch64/vector-insert-dag-combines.ll
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/pr119158.ll
Log Message:
-----------
Revert "[SelectionDAG] Introducing a new ISD::POISON SDNode to represent the poison value in the IR." (#135060)
Reverts llvm/llvm-project#125883
This PR causes crashes in RISC-V codegen around f16/f64 poison values:
https://github.com/llvm/llvm-project/pull/125883#issuecomment-2787048206
Commit: 2c31403f4f301214cb87e929c4d032bd2f4617f4
https://github.com/llvm/llvm-project/commit/2c31403f4f301214cb87e929c4d032bd2f4617f4
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures-arc.mm
M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures.mm
Log Message:
-----------
[alpha.webkit.UnretainedLambdaCapturesChecker] Add the support for protectedSelf (#132518)
This PR adds the support for treating capturing of "self" as safe if the
lambda simultaneously captures "protectedSelf", which is a RetainPtr of
"self".
This PR also fixes a bug that the checker wasn't generating a warning
when "self" is implicitly captured. Note when "self" is implicitly
captured, we use the lambda's getBeginLoc as a fallback source location.
Commit: 2ab2276ee079478b7ba9dd42c62b796d3dab1759
https://github.com/llvm/llvm-project/commit/2ab2276ee079478b7ba9dd42c62b796d3dab1759
Author: Kaitlin Peng <kaitlinpeng at microsoft.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
A clang/test/CodeGenHLSL/builtins/lit.hlsl
Log Message:
-----------
[HLSL] Implement the `lit` intrinsic (#134171)
Closes #99135.
Tasks completed:
- Wrote implementation in `hlsl_intrinsics.h`/`hlsl_intrinsic_helpers.h`
- Added codegen tests to `clang/test/CodeGenHLSL/builtins/lit.hlsl`
Commit: 989bc69ceb47e27f402d14166eb2e2ea53e00c84
https://github.com/llvm/llvm-project/commit/989bc69ceb47e27f402d14166eb2e2ea53e00c84
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
Log Message:
-----------
llvm-reduce: Trim includes in ReduceInstructions (#135022)
Commit: b92f4d4c3315e4632a2e6fc425583e07d57234ca
https://github.com/llvm/llvm-project/commit/b92f4d4c3315e4632a2e6fc425583e07d57234ca
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir] Add missing dep for X86Vector (#135069)
Follow up fix to https://github.com/llvm/llvm-project/pull/133692
Commit: be133ff4c44060e18a9c8a5e55c32d242007c8d1
https://github.com/llvm/llvm-project/commit/be133ff4c44060e18a9c8a5e55c32d242007c8d1
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/token-sequence.cpp
M flang/test/Preprocessing/kind-suffix.F90
Log Message:
-----------
[flang] Fix preprocessor regression (#134405)
For numeric kind suffixes like 1_foo, the preprocessor should be able to
perform macro replacement for macros named either "_foo" or "foo".
Fixes https://github.com/llvm/llvm-project/issues/133399.
Commit: 0ae9bb96d5af47a2426596dbd0c35e3ff0cdddcc
https://github.com/llvm/llvm-project/commit/0ae9bb96d5af47a2426596dbd0c35e3ff0cdddcc
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
M flang/test/Parser/OpenMP/compiler-directive-continuation.f90
Log Message:
-----------
[flang][OpenMP] Fix regression in !$ continuation (#134756)
A recent patch that obviated the need to use -fopenmp when using the
compiler to preprocess in -E mode broke a case of Fortran line
continuation when using OpenMP conditional compilation lines (!$) when
*not* in -E mode. Fix.
Commit: e0950ebb9ce3ce02bd9a439f55fb2cbf81fa3eaf
https://github.com/llvm/llvm-project/commit/e0950ebb9ce3ce02bd9a439f55fb2cbf81fa3eaf
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/edit-output.cpp
M flang-rt/lib/runtime/io-stmt.cpp
Log Message:
-----------
[flang][runtime] Tweak width-free I/G formatted I&O (#135047)
For Fujitsu test case 0561/0561_0168.f90, adjust both input and output
sides of the extension I (and G) edit descriptors with no width (as
distinct from I0/G0). On input, be sure to halt on a separator character
rather than complaining about an invalid character; on output, be sure
to emit a leading space.
Commit: a0d449016b9fda248df78a9e0a8634fa03d33eb2
https://github.com/llvm/llvm-project/commit/a0d449016b9fda248df78a9e0a8634fa03d33eb2
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/docs/Dialects/LLVM.md
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
Log Message:
-----------
[mlir][LLVM] Delete `getVectorElementType` (#134981)
The LLVM dialect no longer has its own vector types. It uses
`mlir::VectorType` everywhere. Remove `LLVM::getVectorElementType` and
use `cast<VectorType>(ty).getElementType()` instead. This commit
addresses a
[comment](https://github.com/llvm/llvm-project/pull/133286#discussion_r2022192500)
on the PR that deleted the LLVM vector types.
Also improve vector type constraints by specifying the
`mlir::VectorType` C++ class, so that explicit casts to `VectorType` can
be avoided in some places.
Commit: 7b4b43bd15cc66b6d9300db4c444954664cf04af
https://github.com/llvm/llvm-project/commit/7b4b43bd15cc66b6d9300db4c444954664cf04af
Author: k-kashapov <52855633+k-kashapov at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/PowerPC32/kernel-ppcle.ll
M llvm/test/Instrumentation/MemorySanitizer/PowerPC32/vararg-ppc.ll
M llvm/test/Instrumentation/MemorySanitizer/PowerPC32/vararg-ppcle.ll
Log Message:
-----------
[MSan] Separated PPC32 va_arg helper from PPC64 (#131827)
With more understanding of PowerPC32 ABI we've rewritten the
`VarArgPowerPC32Helper`.
New implementation fills shadow for both `reg_save_area` and
`overflow_arg_area`.
It does not copy shadow for floating-point arguments, as they are stored
in a separate space.
This implementation does not fully support passing arguments `byVal`.
This will be fixed in future PRs.
Tests were also updated via `llvm/utils/update_test_checks.py`.
Commit: 8f23d4296cb3bf612653aabb9c35395d197f704a
https://github.com/llvm/llvm-project/commit/8f23d4296cb3bf612653aabb9c35395d197f704a
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/cse.fir
M flang/test/Fir/invalid.fir
Log Message:
-----------
Reland "[flang][nfc] Support volatility in Fir ops" (#135039)
#134858 had an extraneous include which caused the shared library builds
to break.
Commit: 46de0caed89fa379a2f7f5506c669ef21be8ef8c
https://github.com/llvm/llvm-project/commit/46de0caed89fa379a2f7f5506c669ef21be8ef8c
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/metadata.ll
Log Message:
-----------
[LV] Add more tests for preserving metadata on vector instructions.
This patch extends test coverage for preserving existing metadata on
vector instructions, including many uncovered cases, like metadata on
calls, selects, FP ops and truncates.
Commit: 5709506de0e8cdeaf291952302f80b81eb03206a
https://github.com/llvm/llvm-project/commit/5709506de0e8cdeaf291952302f80b81eb03206a
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M offload/cmake/Modules/LibomptargetGetDependencies.cmake
Log Message:
-----------
[offload] Fix finding amdgpu/nvptx-arch to generate tests (#135072)
PR #134713, which landed as 79cb6f05da37, causes this on my test
systems:
```
-- Building AMDGPU plugin for dlopened libhsa
-- Not generating AMDGPU tests, no supported devices detected. Use 'LIBOMPTARGET_FORCE_AMDGPU_TESTS' to override.
-- Building CUDA plugin for dlopened libcuda
-- Not generating NVIDIA tests, no supported devices detected. Use 'LIBOMPTARGET_FORCE_NVIDIA_TESTS' to override.
```
The problem is it cannot locate amdgpu-arch and nvptx-arch. This patch
enables it to.
I suspect there is more cleanup to do here. amdgpu-arch and nvptx-arch
do not appear to exist as cmake targets anymore, but there is still
cmake code here that looks for those targets.
Commit: fe2eefc4718f57e1753f7bd51c158fc03d70b34f
https://github.com/llvm/llvm-project/commit/fe2eefc4718f57e1753f7bd51c158fc03d70b34f
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/Lex/PPExpressions.cpp
A clang/test/Index/single-file-parse-undefined-function-like-macro.c
Log Message:
-----------
[clang][index] Handle undefined function-like macros in single file parse mode (#135054)
The single file parse mode is supposed to enter both branches of an
`#if` directive whenever the condition contains undefined identifiers.
This patch adds support for undefined function-like macros, where we
would previously emit an error that doesn't make sense from end-user
perspective.
(I discovered this while working on a very similar feature that parses
single module only and doesn't enter either `#if` branch when the
condition contains undefined identifiers.)
Commit: 639ebbfeb9b09e36158714a8e12f9138e18de0d9
https://github.com/llvm/llvm-project/commit/639ebbfeb9b09e36158714a8e12f9138e18de0d9
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/ProfileData/PGOCtxProfWriter.cpp
Log Message:
-----------
[ctxprof][nfc] Remove redundant include in PGOCtxProfWriter.cpp (#135077)
Commit: 12b1ed213ec55750e8fd59dfa44f6872186ed709
https://github.com/llvm/llvm-project/commit/12b1ed213ec55750e8fd59dfa44f6872186ed709
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/include/clang/AST/DeclCXX.h
Log Message:
-----------
[Clang] Add non static data member initializer for BindingDecl member Decomp (#134969)
Static analysis flagged BindingDecl Decomp member as not being
initialized during construction or by any other member function.
Fix is add a default initializer for it like the other member Binding.
Commit: 0fd81e5f4614dc28cd1557a3d5a6a9d2c271d497
https://github.com/llvm/llvm-project/commit/0fd81e5f4614dc28cd1557a3d5a6a9d2c271d497
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
Log Message:
-----------
[VectorUtils] Add helper to get list of metadata to propagate (NFC). (#135003)
Split off the logic to filter out metadata that should not be propagated
to a helper that populates a list with metadata kinds that should be
preserved.
The current version just uses is_contained on an array to check if a
metadata kind is supported. Given that most instructions will only have
a small number of metadata kinds to start with, this shouldn't be worse
than iterating over all kinds once and querying the instruction for
individual metadata kinds, which involves quite a bit of indirection.
I plan ot use this utility in a follow-up patch in other places as well.
PR: https://github.com/llvm/llvm-project/pull/135003
Commit: 7cbf78ec74ea899ac508da0067962ab91c39930f
https://github.com/llvm/llvm-project/commit/7cbf78ec74ea899ac508da0067962ab91c39930f
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Remove no-op addMetadata for VPWidenGEP/VPWidenIntOrFPInd (NFC).
GEPs and truncates should not have any metadata that can be propgated at
the moment, so addMetadata is a no-op. Remove the calls.
This patch also adds assertions to the recipes' constructors, to ensure
no metadata is accidentially dropped.
Commit: 785d69e317f249d96ca10010c96a92c51fa4d199
https://github.com/llvm/llvm-project/commit/785d69e317f249d96ca10010c96a92c51fa4d199
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/str_to_float_comparison_test.cpp
Log Message:
-----------
[libc][test] make `str_to_float_comparison_test` independent of C++ headers. (#133978)
This is an attempt to move away from C++ headers to be able to run the
test without `libcxx`.
closes #129838
cc @lntue @RossComputerGuy
Commit: 6a45fce90937f1c8671e609c4218818ce4491329
https://github.com/llvm/llvm-project/commit/6a45fce90937f1c8671e609c4218818ce4491329
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang/test/Integration/debug-local-var-2.f90
M llvm/lib/IR/BasicBlock.cpp
Log Message:
-----------
[DebugInfo] Soft-disable the production of debug intrinsics (#133933)
This patch switches the --experimental-debuginfo-iterators flag to be
stored to an otherwise unused cl-opt. This is a deliberate attempt to
break downstream tests that are relying on the use of debug intrinsics,
because they're imminently going away! If this commit breaks your tests,
please just revert the commit upstream, and then make contact with us
here:
https://discourse.llvm.org/t/psa-ir-output-changing-from-debug-intrinsics-to-debug-records/79578
So that we can work out whether there's any further transition work
needed to support the move away from using debug intrinsics.
Commit: a9ab8a019e53c91ae67c59fa900ee8b35bf7a4a0
https://github.com/llvm/llvm-project/commit/a9ab8a019e53c91ae67c59fa900ee8b35bf7a4a0
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/add-sub-128bit.ll
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/compare-int.ll
M llvm/test/CodeGen/NVPTX/elect.ll
M llvm/test/CodeGen/NVPTX/extractelement.ll
M llvm/test/CodeGen/NVPTX/f16-instructions.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i1-int-to-fp.ll
M llvm/test/CodeGen/NVPTX/i128.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/CodeGen/NVPTX/sext-setcc.ll
M llvm/test/CodeGen/NVPTX/tid-range.ll
M llvm/test/CodeGen/NVPTX/vector-compare.ll
Log Message:
-----------
[NVPTX] Cleanup ISel for selp.* (#135065)
This change uses the untyped variant of `selp.` in all integer cases to
simplify the ISel TableGen logic. It is not expected to have any impact
on the final SASS.
Commit: e10f67a8270c7745b8a9306a9910b06cfc8d2c55
https://github.com/llvm/llvm-project/commit/e10f67a8270c7745b8a9306a9910b06cfc8d2c55
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang-tools-extra/clang-doc/CMakeLists.txt
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
A clang-tools-extra/clang-doc/support/CMakeLists.txt
A clang-tools-extra/clang-doc/support/File.cpp
A clang-tools-extra/clang-doc/support/File.h
Log Message:
-----------
[clang-doc][NFC] refactor out file helpers (#134298)
Split from https://github.com/llvm/llvm-project/pull/133161
refactor the code to extract file helpers used in HTML generators for
use in other generators for clang-doc
Commit: f75dce43ea0a98c0ade916cf3ffcc7548f569821
https://github.com/llvm/llvm-project/commit/f75dce43ea0a98c0ade916cf3ffcc7548f569821
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
Log Message:
-----------
[CIR][NFC] Fix an unused variable warning (#135046)
This fixes a warning where a variable assigned in a 'if' statement
wasn't referenced again.
Commit: af9c04fa689029c80451ec2c497509c7bd28534f
https://github.com/llvm/llvm-project/commit/af9c04fa689029c80451ec2c497509c7bd28534f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M libcxx/.clang-format
M libcxx/docs/DesignDocs/VisibilityMacros.rst
M libcxx/include/__chrono/duration.h
M libcxx/include/__chrono/formatter.h
M libcxx/include/__chrono/parser_std_format_spec.h
M libcxx/include/__chrono/time_point.h
M libcxx/include/__compare/common_comparison_category.h
M libcxx/include/__compare/compare_three_way.h
M libcxx/include/__compare/compare_three_way_result.h
M libcxx/include/__config
M libcxx/include/__coroutine/coroutine_handle.h
M libcxx/include/__coroutine/noop_coroutine_handle.h
M libcxx/include/__format/buffer.h
M libcxx/include/__format/container_adaptor.h
M libcxx/include/__format/format_arg.h
M libcxx/include/__format/format_arg_store.h
M libcxx/include/__format/format_args.h
M libcxx/include/__format/format_context.h
M libcxx/include/__format/format_functions.h
M libcxx/include/__format/format_parse_context.h
M libcxx/include/__format/format_string.h
M libcxx/include/__format/format_to_n_result.h
M libcxx/include/__format/formatter.h
M libcxx/include/__format/formatter_bool.h
M libcxx/include/__format/formatter_char.h
M libcxx/include/__format/formatter_floating_point.h
M libcxx/include/__format/formatter_integer.h
M libcxx/include/__format/formatter_integral.h
M libcxx/include/__format/formatter_pointer.h
M libcxx/include/__format/formatter_string.h
M libcxx/include/__format/formatter_tuple.h
M libcxx/include/__format/parser_std_format_spec.h
M libcxx/include/__format/range_default_formatter.h
M libcxx/include/__format/range_formatter.h
M libcxx/include/__functional/binary_function.h
M libcxx/include/__functional/binary_negate.h
M libcxx/include/__functional/binder1st.h
M libcxx/include/__functional/binder2nd.h
M libcxx/include/__functional/boyer_moore_searcher.h
M libcxx/include/__functional/default_searcher.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/hash.h
M libcxx/include/__functional/mem_fun_ref.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/pointer_to_binary_function.h
M libcxx/include/__functional/pointer_to_unary_function.h
M libcxx/include/__functional/reference_wrapper.h
M libcxx/include/__functional/unary_function.h
M libcxx/include/__functional/unary_negate.h
M libcxx/include/__fwd/array.h
M libcxx/include/__fwd/complex.h
M libcxx/include/__fwd/deque.h
M libcxx/include/__fwd/format.h
M libcxx/include/__fwd/fstream.h
M libcxx/include/__fwd/functional.h
M libcxx/include/__fwd/ios.h
M libcxx/include/__fwd/istream.h
M libcxx/include/__fwd/map.h
M libcxx/include/__fwd/memory.h
M libcxx/include/__fwd/memory_resource.h
M libcxx/include/__fwd/ostream.h
M libcxx/include/__fwd/pair.h
M libcxx/include/__fwd/queue.h
M libcxx/include/__fwd/set.h
M libcxx/include/__fwd/sstream.h
M libcxx/include/__fwd/stack.h
M libcxx/include/__fwd/streambuf.h
M libcxx/include/__fwd/string.h
M libcxx/include/__fwd/string_view.h
M libcxx/include/__fwd/subrange.h
M libcxx/include/__fwd/tuple.h
M libcxx/include/__fwd/variant.h
M libcxx/include/__fwd/vector.h
M libcxx/include/__hash_table
M libcxx/include/__ios/fpos.h
M libcxx/include/__iterator/back_insert_iterator.h
M libcxx/include/__iterator/front_insert_iterator.h
M libcxx/include/__iterator/insert_iterator.h
M libcxx/include/__iterator/istream_iterator.h
M libcxx/include/__iterator/istreambuf_iterator.h
M libcxx/include/__iterator/iterator.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__iterator/move_iterator.h
M libcxx/include/__iterator/move_sentinel.h
M libcxx/include/__iterator/ostream_iterator.h
M libcxx/include/__iterator/ostreambuf_iterator.h
M libcxx/include/__iterator/reverse_iterator.h
M libcxx/include/__iterator/wrap_iter.h
M libcxx/include/__locale
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/allocator_arg_t.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/auto_ptr.h
M libcxx/include/__memory/inout_ptr.h
M libcxx/include/__memory/out_ptr.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/raw_storage_iterator.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__memory/uses_allocator.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__mutex/lock_guard.h
M libcxx/include/__mutex/once_flag.h
M libcxx/include/__mutex/unique_lock.h
M libcxx/include/__node_handle
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__random/bernoulli_distribution.h
M libcxx/include/__random/binomial_distribution.h
M libcxx/include/__random/cauchy_distribution.h
M libcxx/include/__random/chi_squared_distribution.h
M libcxx/include/__random/discard_block_engine.h
M libcxx/include/__random/discrete_distribution.h
M libcxx/include/__random/exponential_distribution.h
M libcxx/include/__random/extreme_value_distribution.h
M libcxx/include/__random/fisher_f_distribution.h
M libcxx/include/__random/gamma_distribution.h
M libcxx/include/__random/geometric_distribution.h
M libcxx/include/__random/independent_bits_engine.h
M libcxx/include/__random/linear_congruential_engine.h
M libcxx/include/__random/lognormal_distribution.h
M libcxx/include/__random/mersenne_twister_engine.h
M libcxx/include/__random/negative_binomial_distribution.h
M libcxx/include/__random/normal_distribution.h
M libcxx/include/__random/piecewise_constant_distribution.h
M libcxx/include/__random/piecewise_linear_distribution.h
M libcxx/include/__random/poisson_distribution.h
M libcxx/include/__random/seed_seq.h
M libcxx/include/__random/shuffle_order_engine.h
M libcxx/include/__random/student_t_distribution.h
M libcxx/include/__random/subtract_with_carry_engine.h
M libcxx/include/__random/uniform_real_distribution.h
M libcxx/include/__random/weibull_distribution.h
M libcxx/include/__ranges/non_propagating_cache.h
M libcxx/include/__ranges/subrange.h
M libcxx/include/__string/char_traits.h
M libcxx/include/__system_error/error_code.h
M libcxx/include/__system_error/error_condition.h
M libcxx/include/__thread/formatter.h
M libcxx/include/__thread/id.h
M libcxx/include/__thread/thread.h
M libcxx/include/__tree
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/__tuple/tuple_element.h
M libcxx/include/__tuple/tuple_size.h
M libcxx/include/__type_traits/add_cv_quals.h
M libcxx/include/__type_traits/aligned_storage.h
M libcxx/include/__type_traits/alignment_of.h
M libcxx/include/__type_traits/common_type.h
M libcxx/include/__type_traits/conditional.h
M libcxx/include/__type_traits/decay.h
M libcxx/include/__type_traits/dependent_type.h
M libcxx/include/__type_traits/enable_if.h
M libcxx/include/__type_traits/extent.h
M libcxx/include/__type_traits/has_unique_object_representation.h
M libcxx/include/__type_traits/has_virtual_destructor.h
M libcxx/include/__type_traits/integral_constant.h
M libcxx/include/__type_traits/invoke.h
M libcxx/include/__type_traits/is_abstract.h
M libcxx/include/__type_traits/is_aggregate.h
M libcxx/include/__type_traits/is_arithmetic.h
M libcxx/include/__type_traits/is_array.h
M libcxx/include/__type_traits/is_assignable.h
M libcxx/include/__type_traits/is_base_of.h
M libcxx/include/__type_traits/is_bounded_array.h
M libcxx/include/__type_traits/is_class.h
M libcxx/include/__type_traits/is_compound.h
M libcxx/include/__type_traits/is_const.h
M libcxx/include/__type_traits/is_constructible.h
M libcxx/include/__type_traits/is_convertible.h
M libcxx/include/__type_traits/is_destructible.h
M libcxx/include/__type_traits/is_empty.h
M libcxx/include/__type_traits/is_enum.h
M libcxx/include/__type_traits/is_final.h
M libcxx/include/__type_traits/is_floating_point.h
M libcxx/include/__type_traits/is_function.h
M libcxx/include/__type_traits/is_fundamental.h
M libcxx/include/__type_traits/is_implicit_lifetime.h
M libcxx/include/__type_traits/is_integral.h
M libcxx/include/__type_traits/is_literal_type.h
M libcxx/include/__type_traits/is_member_pointer.h
M libcxx/include/__type_traits/is_nothrow_assignable.h
M libcxx/include/__type_traits/is_nothrow_constructible.h
M libcxx/include/__type_traits/is_nothrow_destructible.h
M libcxx/include/__type_traits/is_null_pointer.h
M libcxx/include/__type_traits/is_object.h
M libcxx/include/__type_traits/is_pod.h
M libcxx/include/__type_traits/is_pointer.h
M libcxx/include/__type_traits/is_polymorphic.h
M libcxx/include/__type_traits/is_reference.h
M libcxx/include/__type_traits/is_same.h
M libcxx/include/__type_traits/is_scalar.h
M libcxx/include/__type_traits/is_signed.h
M libcxx/include/__type_traits/is_standard_layout.h
M libcxx/include/__type_traits/is_swappable.h
M libcxx/include/__type_traits/is_trivial.h
M libcxx/include/__type_traits/is_trivially_assignable.h
M libcxx/include/__type_traits/is_trivially_constructible.h
M libcxx/include/__type_traits/is_trivially_copyable.h
M libcxx/include/__type_traits/is_trivially_destructible.h
M libcxx/include/__type_traits/is_unbounded_array.h
M libcxx/include/__type_traits/is_union.h
M libcxx/include/__type_traits/is_unsigned.h
M libcxx/include/__type_traits/is_void.h
M libcxx/include/__type_traits/is_volatile.h
M libcxx/include/__type_traits/rank.h
M libcxx/include/__type_traits/reference_constructs_from_temporary.h
M libcxx/include/__type_traits/reference_converts_from_temporary.h
M libcxx/include/__type_traits/remove_all_extents.h
M libcxx/include/__type_traits/remove_const.h
M libcxx/include/__type_traits/remove_extent.h
M libcxx/include/__type_traits/remove_pointer.h
M libcxx/include/__type_traits/remove_volatile.h
M libcxx/include/__type_traits/result_of.h
M libcxx/include/__utility/in_place.h
M libcxx/include/__utility/integer_sequence.h
M libcxx/include/__utility/pair.h
M libcxx/include/__utility/piecewise_construct.h
M libcxx/include/__variant/monostate.h
M libcxx/include/__vector/vector.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/__vector/vector_bool_formatter.h
M libcxx/include/any
M libcxx/include/array
M libcxx/include/bitset
M libcxx/include/codecvt
M libcxx/include/complex
M libcxx/include/deque
M libcxx/include/experimental/type_traits
M libcxx/include/experimental/utility
M libcxx/include/ext/__hash
M libcxx/include/ext/hash_map
M libcxx/include/ext/hash_set
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/initializer_list
M libcxx/include/ios
M libcxx/include/iosfwd
M libcxx/include/istream
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/mutex
M libcxx/include/optional
M libcxx/include/queue
M libcxx/include/ratio
M libcxx/include/regex
M libcxx/include/scoped_allocator
M libcxx/include/set
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/streambuf
M libcxx/include/syncstream
M libcxx/include/tuple
M libcxx/include/typeindex
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/valarray
M libcxx/include/variant
Log Message:
-----------
[libc++] Remove _LIBCPP_TEMPLATE_VIS (#134885)
The need for `_LIBCPP_TEMPLATE_VIS` has been removed in #133233.
Commit: d47401e376d458fb9bb4f4f9be0e07c0fdd7a52c
https://github.com/llvm/llvm-project/commit/d47401e376d458fb9bb4f4f9be0e07c0fdd7a52c
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/AST/ast-print-openacc-init-construct.cpp
M clang/test/AST/ast-print-openacc-loop-construct.cpp
M clang/test/AST/ast-print-openacc-routine-construct.cpp
M clang/test/AST/ast-print-openacc-set-construct.cpp
M clang/test/AST/ast-print-openacc-shutdown-construct.cpp
M clang/test/AST/ast-print-openacc-update-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.cpp
M clang/test/SemaOpenACC/compute-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.cpp
M clang/test/SemaOpenACC/data-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/data-construct-device_type-clause.c
A clang/test/SemaOpenACC/device_type_valid_values.c
M clang/test/SemaOpenACC/init-construct-ast.cpp
M clang/test/SemaOpenACC/init-construct.cpp
M clang/test/SemaOpenACC/loop-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.cpp
M clang/test/SemaOpenACC/routine-construct-ast.cpp
M clang/test/SemaOpenACC/routine-construct-clauses.cpp
M clang/test/SemaOpenACC/set-construct-ast.cpp
M clang/test/SemaOpenACC/set-construct.cpp
M clang/test/SemaOpenACC/shutdown-construct-ast.cpp
M clang/test/SemaOpenACC/shutdown-construct.cpp
M clang/test/SemaOpenACC/update-construct-ast.cpp
M clang/test/SemaOpenACC/update-construct.cpp
Log Message:
-----------
[OpenACC] Start enforcing 'device_type' clause values
Researching in prep of doing the implementation for lowering, I found
that the source of the valid identifiers list from flang is in the
frontend. This patch adds the same list to the frontend, but does it as
a sema diagnostic, so we still parse it as an identifier/identifier-like
thing, but then diagnose it as invalid later.
Commit: 688c3ffb057a87b86c6c1e77040418adf511efbb
https://github.com/llvm/llvm-project/commit/688c3ffb057a87b86c6c1e77040418adf511efbb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
Log Message:
-----------
[X86] masked_gather_scatter.ll - add bass gather from struct tests for #130920
Show current codegen for base reference
Commit: 58b91d10a4c9dcd71ea0bcf6ff702a46dad147cb
https://github.com/llvm/llvm-project/commit/58b91d10a4c9dcd71ea0bcf6ff702a46dad147cb
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
Log Message:
-----------
[CIR][NFC] Upstream LValueBaseInfo handling (#134928)
Previous implementations that used the cir::LValue class omitted hanling
of the LValueBaseInfo class, which tracks information about the basis
for the LValue's alignment. As more code was upstreamed from the
incubator, we were accumulating technical debt by adding more places
where this wasn't handled correctly. This change puts the interfaces in
place to track this information.
The information being tracked isn't used yet, so no functional change is
intended. The tracking is being added now because it will become more
difficult to add it as more features are implemented.
Commit: 90c001ac9e1d92a1a95d191d1640ab5337a937e5
https://github.com/llvm/llvm-project/commit/90c001ac9e1d92a1a95d191d1640ab5337a937e5
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
Log Message:
-----------
[libc][bazel] Use Bazel aspects to implement libc_release_library. (#134948)
Instead of creating hundreds of implicit "filegroup" targets to keep
track of sources and textual headers required to build each libc
function or helper library, use Bazel aspects (see
https://bazel.build/versions/8.0.0/extending/aspects), which enable
transparent collection of transitive sources / textual headers while
walking the dependency DAG, and minimizes the Starlark overhead.
Co-authored-by: Jordan Rupprecht <rupprecht at google.com>
Commit: 2f7e685e3d8813ca584cc2f278ac3cd57b43772d
https://github.com/llvm/llvm-project/commit/2f7e685e3d8813ca584cc2f278ac3cd57b43772d
Author: Nachi G <nacgarg at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/lib/IR/Verifier.cpp
M mlir/test/IR/invalid-ops.mlir
Log Message:
-----------
[MLIR] Ensure deterministic parallel verification (#134963)
`failableParallelForEach` will non-deterministically early terminate
upon failure, leading to inconsistent and potentially missing
diagnostics.
This PR uses `parallelForEach` to ensure all operations are verified and
all diagnostics are handled, while tracking the failure state
separately.
Other potential fixes include:
- Making `failableParallelForEach` have deterministic early-exit
behavior (or have an option for it)
- I didn't want to change more than what was required (and potentially
incur perf hits for unrelated code), but if this is a better fix I'm
happy to submit a patch.
- I think all diagnostics that can be detected from verification
failures should be reported, so I don't even think this would be correct
behavior anyway
- Adding an option for `failableParallelForEach` to still execute on
every element on the range while still returning `LogicalResult`
Commit: 154507cf403e1859b9a81fa76af406e8489daa4b
https://github.com/llvm/llvm-project/commit/154507cf403e1859b9a81fa76af406e8489daa4b
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/test/SemaTemplate/dependent-names.cpp
Log Message:
-----------
[clang] fix NestedNameSpecifier dependency calculation (#135067)
A NestedNameSpecifier of TypeSpec kind can be non-dependent even if its
prefix is dependent, when for example the prefix is an injected class
type but the type itself is a simple alias to a non-dependent type.
This issue was a bit hard to observe because if it is an alias to a
class type, then we (for some unknown reason) ignored that the NNS was
dependent in the first place, which wouldn't happen with an enum type.
This could have been a workaround for previous dependency bugs, and is
not relevant anymore for any of the test cases in the tree, so this
patch also removes that.
The other kinds of dependencies are still relevant. If the prefix
contains an unexpanded pack, then this NNS is still unexpanded, and
likewise for errors.
This fixes a regression reported here:
https://github.com/llvm/llvm-project/pull/133610#issuecomment-2787909829
which was introduced by https://github.com/llvm/llvm-project/pull/133610
There are no release notes since the regression was never released.
Commit: 433a63e117ebf22365ef1f3f595a49cbe9f0c88e
https://github.com/llvm/llvm-project/commit/433a63e117ebf22365ef1f3f595a49cbe9f0c88e
Author: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_mac.h
Log Message:
-----------
Fix ambiguous reversed operator error in sanitizer_mac.h (#135068)
Fixes error: ISO C++20 considers use of overloaded operator '==' (with
operand types 'MacosVersion' and 'MacosVersion') to be ambiguous despite
there being a unique best viable function
[-Werror,-Wambiguous-reversed-operator].
This converts the comparison operator from a non-symmetric operator
(const VersionBase<VersionType>& (as "this") and const VersionType &).
into a symmetric operator
Commit: 4d06d22da048f2c025df7b58ec1d7f96d0840bf9
https://github.com/llvm/llvm-project/commit/4d06d22da048f2c025df7b58ec1d7f96d0840bf9
Author: Pranav Kant <prka at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix after #133692 (#135098)
Avoid failures like these:
https://buildkite.com/llvm-project/upstream-bazel/builds/131707#01961bb5-2a7b-4dea-a387-cdfd8bb4db48
Commit: 8145659c39996b6b33c2fa922593d35068bcbf61
https://github.com/llvm/llvm-project/commit/8145659c39996b6b33c2fa922593d35068bcbf61
Author: mssefat <42645939+mssefat at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fold-imm-copy.mir
Log Message:
-----------
[nfc][AMDGPU] Autogenerated assertions applied to fold-imm-copy.mir (#135071)
Autogenerated assertions are applied to fold-imm-copy.mir
Commit: 9b50167ed9d28589d70f36e302850d29ca249b9e
https://github.com/llvm/llvm-project/commit/9b50167ed9d28589d70f36e302850d29ca249b9e
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
M mlir/test/python/ir/value.py
Log Message:
-----------
[mlir][python] add use_name_loc_as_prefix to value.get_name() (#135052)
Add `use_name_loc_as_prefix` to `value.get_name()`.
Commit: c359f7625f4d5bacbd88c9c9d26943b7a7e45a3e
https://github.com/llvm/llvm-project/commit/c359f7625f4d5bacbd88c9c9d26943b7a7e45a3e
Author: Bangtian Liu <liubangtian at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/include/mlir-c/Dialect/Linalg.h
M mlir/lib/Bindings/Python/DialectLinalg.cpp
M mlir/lib/CAPI/Dialect/Linalg.cpp
A mlir/test/python/dialects/linalg/utils.py
Log Message:
-----------
[mlir][CAPI][python] expose the python bindings for linalg::isaContractionOpInterface and linalg::inferContractionDims (#134935)
This PR is mainly about exposing the python bindings for`
linalg::isaContractionOpInterface` and` linalg::inferContractionDims`.
---------
Signed-off-by: Bangtian Liu <liubangtian at gmail.com>
Commit: 6a63abce7b54076015b52d6b99c51eb04d2763f6
https://github.com/llvm/llvm-project/commit/6a63abce7b54076015b52d6b99c51eb04d2763f6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Use GPRMemZeroOffset instead of GPRMem in RISCVInstrInfoVPseudos.td. NFC
The distinction between GPRMem and GPRMemZeroOffset only matters
for parsing which doesn't apply to pseudos.
Commit: 56b792322aaaa82883d56a322a94448de519f789
https://github.com/llvm/llvm-project/commit/56b792322aaaa82883d56a322a94448de519f789
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang-rt/lib/cuda/allocator.cpp
Log Message:
-----------
[flang][cuda] Use the aysncId in device allocation (#135099)
Use `cudaMallocAsync` in the `CUFAllocDevice` allocator when asyncId is
provided.
More work is needed to be able to call `cudaFreeAsync` since the
allocated address and stream needs to be tracked.
Commit: 75cbb1f0fa734efb79c1a1233f1aba377dfad9e1
https://github.com/llvm/llvm-project/commit/75cbb1f0fa734efb79c1a1233f1aba377dfad9e1
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
Log Message:
-----------
[clang-format][NFC] Add FormatToken::is(tok::ObjCKeywordKind) (#134973)
This allows simplification of code that checks if a token is an
Objective-C keyword.
Also, delete the following in
UnwrappedLineParser::parseStructuralElement():
- an else-after-break in the tok::at case
- the copypasted code in the tok::objc_autoreleasepool case
Commit: 2795abb2f8c71a6f00371b49d49829efe2814b0d
https://github.com/llvm/llvm-project/commit/2795abb2f8c71a6f00371b49d49829efe2814b0d
Author: Alan Li <me at alanli.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
A llvm/test/CodeGen/AMDGPU/GlobalISel/prelegalizer-combiner-shuffle.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/shufflevector.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/mad-mix.ll
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-add.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-and.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-mul.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-or.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smin.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umin.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-xor.ll
Log Message:
-----------
[GISel][AMDGPU] Expand ShuffleVector (#124527)
This patch dismantles G_SHUFFLE_VECTOR before lowering. The original
lowering would emit extract vector element ops. We found that by using
unmerged values the build vector op combine could find ways to fold.
Only enabled on AMDGPU.
This resolves #123631
Commit: f34483838937b1a01ee11ee22bdd6e13c81e9fff
https://github.com/llvm/llvm-project/commit/f34483838937b1a01ee11ee22bdd6e13c81e9fff
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Keep the space between `not` and a unary operator (#135035)
Also keep the space between `not` and `::`.
Based on the
[documentation](https://releases.llvm.org/20.1.0/tools/clang/docs/ClangFormatStyleOptions.html#spaceafterlogicalnot),
it can be argued that SpaceAfterLogicalNot doesn't cover the alternative
operator `not`.
Closes #125465
Commit: 78b21ddba7bc43b1e59d97ccad51133858a9ce91
https://github.com/llvm/llvm-project/commit/78b21ddba7bc43b1e59d97ccad51133858a9ce91
Author: Zequan Wu <zequanwu at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/test/tools/llvm-symbolizer/skip-line-zero.s
M llvm/test/tools/llvm-symbolizer/sym-verbose.test
M offload/test/sanitizer/kernel_crash_many.c
M offload/test/sanitizer/kernel_trap.c
M offload/test/sanitizer/kernel_trap.cpp
M offload/test/sanitizer/kernel_trap_many.c
Log Message:
-----------
Revert "Reland "Symbolize line zero as if no source info is available (#124846)" (#133798)"
This reverts commit 348374028970c956f2e49ab7553b495d7408ccd9 because #128619 doesn't handle the case when we have an empty frame from `getInliningInfoForAddress` because line num is 0 which makes it non-differentiable from missing debug info. So, we end up using the base filename from symtab again. Reverting for now until that issus is solved.
Commit: b88eef95e72ed54580c3f65c49cc8b768a764938
https://github.com/llvm/llvm-project/commit/b88eef95e72ed54580c3f65c49cc8b768a764938
Author: Michael Berg <93234525+mcberg2021 at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
A llvm/test/Transforms/DeadStoreElimination/dead-vp.store.ll
Log Message:
-----------
[DSE] Add predicated vector length store support for masked store elimination (#134175)
In isMaskedStoreOverwrite we process two stores that fully overwrite one
another, here we add support for predicated vector length stores so that
DSE will eliminate this variant of masked stores.
This is the follow up installment mentioned in:
https://reviews.llvm.org/D132700
Commit: 747d4a952bf7ed4adec72ddf3c9038aeff4fe8ee
https://github.com/llvm/llvm-project/commit/747d4a952bf7ed4adec72ddf3c9038aeff4fe8ee
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
A clang/test/CodeGenHLSL/enable-16bit-types.hlsl
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/test/CodeGen/DirectX/ShaderFlags/low-precision.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision.ll
Log Message:
-----------
[DirectX] Implement UseNativeLowPrecision shader flag analysis (#134288)
Fixes #112267
Implement the shader flag analysis to set the UseNativeLowPrecision DXIL
module flag.
The flag is only able to be set when the command-line flag
`-enable-16bit-types` is passed to clang-dxc, or equivalently
`-fnative-half-type` is passed to clang.
When the command-line flag is passed, a module metadata flag called
"dx.nativelowprec" is set to 1.
The DXILShaderFlags shader flags analysis checks that the module
metadata flag "dx.nativelowprec" is set to 1 and the DXIL Version is 1.2
or greater before setting the UseNativeLowPrecision DXIL module flag.
Commit: 02fde3a6518b1085946b891e2a1b3550f7497888
https://github.com/llvm/llvm-project/commit/02fde3a6518b1085946b891e2a1b3550f7497888
Author: Pranav Kant <prka at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-doc/BUILD.bazel
Log Message:
-----------
[bazel] Fix for #134298 (#135114)
Commit: 98feb05825a179c56f965d936b948a95d2a6b888
https://github.com/llvm/llvm-project/commit/98feb05825a179c56f965d936b948a95d2a6b888
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/AST/ItaniumMangle.cpp
M clang/test/CodeGenCXX/mangle-template.cpp
Log Message:
-----------
[clang] fix unresolved dependent template specialization mangling (#135111)
This fixes a regression introduced in
https://github.com/llvm/llvm-project/pull/133610 which was reported here
https://github.com/llvm/llvm-project/pull/133610#issuecomment-2787332042
When mangling a dependent template specialization appearing within an
unresolved prefix, translate the dtst back to a dependent template name
including the prefix, and mangle following the nested unresolved-type
production.
There are no release notes, since this regression was never released.
Commit: d1badf5635c5876a8c0b9558fe149ef0e293b865
https://github.com/llvm/llvm-project/commit/d1badf5635c5876a8c0b9558fe149ef0e293b865
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
A clang/test/CodeGen/cfi-check-fail-nomerge.c
A clang/test/CodeGen/cfi-check-fail2-nomerge.c
A clang/test/CodeGenCXX/cfi-mfcall-nomerge.cpp
Log Message:
-----------
[cfi][NFCI] Precommit tests to show nomerge functionality (#135104)
https://github.com/llvm/llvm-project/pull/120464 (and earlier CLs) added -fsanitize-merge functionality, which is intended to work for all "sanitizers". It is nearly correct for CFI.
This patch precommits some tests for CFI, to track the progress of future -fsanitize-merge fixes for CFI.
Commit: 2b8cc651dca0c000ee18ec79bd5de4826156c9d6
https://github.com/llvm/llvm-project/commit/2b8cc651dca0c000ee18ec79bd5de4826156c9d6
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
Log Message:
-----------
:createMCStreamer: delete InstPrinter on error
Commit: 0283bb3afcc5dc521f6b2e7d541a830a9546ed80
https://github.com/llvm/llvm-project/commit/0283bb3afcc5dc521f6b2e7d541a830a9546ed80
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/attr-counted-by.c
A clang/test/CodeGen/ubsan-attr.cpp
Log Message:
-----------
[Clang][CodeGen][UBSan] Add more precise attributes to recoverable ubsan handlers (#130990)
This patch adds `memory(argmem: read, inaccessiblemem: readwrite)
mustprogress` to **recoverable** ubsan handlers in order to unblock some
memory/loop optimizations. It provides an average of 3% performance
improvement on llvm-test-suite (except for 49 test failures due to ubsan
diagnostics).
Closes https://github.com/llvm/llvm-project/issues/130093.
Commit: 7f7f3d91a2d5c354a5e7b7c6f7d8d71ec6ad1f4d
https://github.com/llvm/llvm-project/commit/7f7f3d91a2d5c354a5e7b7c6f7d8d71ec6ad1f4d
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_mac.h
Log Message:
-----------
Revert "Replace bool operator== for VersionType in sanitizer_mac.h" (#135127)
Reverts llvm/llvm-project#135068 because it breaks building compiler-rt
on Darwin.
https://green.lab.llvm.org/job/clang-stage1-RA/
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/as-lldb-cmake/
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/lldb-cmake/
Commit: 2828328611089481d6ebd2e148791d9729117a8a
https://github.com/llvm/llvm-project/commit/2828328611089481d6ebd2e148791d9729117a8a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/llvm-reduce.cpp
Log Message:
-----------
llvm-reduce: Link to command guide in help like bugpoint does (#134810)
Commit: 98ea512f720ec954a6f096dbb39534f06affa196
https://github.com/llvm/llvm-project/commit/98ea512f720ec954a6f096dbb39534f06affa196
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
A clang/test/AST/ByteCode/libcxx/minmax.cpp
Log Message:
-----------
[clang][bytecode] Clear inactive union fields when copying (#134982)
When copying unions, we need to only copy the active field of the source
union, which we were already doing. However, we also need to zero out
the (now) inactive fields, so we don't end up with dangling pointers in
those inactive fields.
Commit: 5587932e20ff90ba8a28f3c9089e8b12e42b09b5
https://github.com/llvm/llvm-project/commit/5587932e20ff90ba8a28f3c9089e8b12e42b09b5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/remove-bb-switch-default.ll
M llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp
Log Message:
-----------
llvm-reduce: Use simpleSimplifyCFG in block reduction (#135028)
Commit: 02f923f8e4329995f2f0c512fa53f5e37e631933
https://github.com/llvm/llvm-project/commit/02f923f8e4329995f2f0c512fa53f5e37e631933
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
A clang/test/AST/ByteCode/pointer-to-fnptr.cpp
M clang/unittests/AST/ByteCode/toAPValue.cpp
Log Message:
-----------
[clang][bytecode] Classify function pointers as PT_Ptr (#135026)
The Pointer class already has the capability to be a function pointer,
but we still classifed function pointers as PT_FnPtr/FunctionPointer.
This means when converting from a Pointer to a FunctionPointer, we lost
the information of what the original Pointer pointed to.
Commit: 27ca4837eec1734d23cc628fcaddf03b94afc845
https://github.com/llvm/llvm-project/commit/27ca4837eec1734d23cc628fcaddf03b94afc845
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/unittests/ADT/EquivalenceClassesTest.cpp
Log Message:
-----------
[EquivalenceClasses] Introduce erase member function (#134660)
Introduce 'erase(const ElemTy &V)' member function to allow the deletion
of a certain value from EquivClasses. This is essential for certain
scenarios that require modifying the contents of EquivClasses.
---------
Co-authored-by: Florian Hahn <flo at fhahn.com>
Commit: 843fb7be380c0907b3b222cd5e429a4d38c97b54
https://github.com/llvm/llvm-project/commit/843fb7be380c0907b3b222cd5e429a4d38c97b54
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/operands-to-args.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Fix overly conservative operands-to-args user restriction (#133854)
I assume this was a leftover from typed pointers. It's easier to replace
the non-callee uses, they are just replacable pointer values.
Commit: 2257f5143148210fa968205730543f49427d0cc6
https://github.com/llvm/llvm-project/commit/2257f5143148210fa968205730543f49427d0cc6
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/attr-counted-by.c
R clang/test/CodeGen/ubsan-attr.cpp
Log Message:
-----------
Revert "[Clang][CodeGen][UBSan] Add more precise attributes to recoverable ubsan handlers" (#135130)
Reverts llvm/llvm-project#130990
Breaks buildbot https://lab.llvm.org/buildbot/#/builders/186/builds/8072
Commit: f819f46284f2a79790038e1f6649172789734ae8
https://github.com/llvm/llvm-project/commit/f819f46284f2a79790038e1f6649172789734ae8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/test/CodeGenHLSL/builtins/distance.hlsl
M clang/test/CodeGenHLSL/builtins/length.hlsl
M clang/test/CodeGenHLSL/builtins/reflect.hlsl
M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
M clang/test/Headers/__clang_hip_cmath.hip
M clang/test/Headers/__clang_hip_math.hip
M llvm/include/llvm/IR/Attributes.h
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/test/Transforms/Inline/access-attributes-prop.ll
Log Message:
-----------
Reapply "Inline: Propagate callsite nofpclass attribute" (#135018)
This reverts commit 3f38cd07d820248fd2043efb1341fabaac2d84a6.
Fix case where inner callsite has nofpclass but callsite does not.
Commit: 3fd0d22d74027c00bd2365ea1691dc530bb9709a
https://github.com/llvm/llvm-project/commit/3fd0d22d74027c00bd2365ea1691dc530bb9709a
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCParser/MCAsmParser.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/test/MC/AArch64/arm64-diags.s
M llvm/test/MC/MachO/AArch64/darwin-ARM64-reloc.s
Log Message:
-----------
AArch64AsmParser: Restore Lsym at page-offset support
https://github.com/llvm/llvm-project/pull/134202 removed support for
`sym at page-offset` in instruction operands. This change is generally
reasonable since subtracting an offset from a symbol typically doesn’t
make sense for Mach-O due to its .subsections_via_symbols mechanism, which treats
them as separate atoms.
However, BoringSSL relies on a temporary symbol with a negative offset,
which can be meaningful when the symbol and the referenced location are
within the same atom.
```
../../third_party/boringssl/src/gen/bcm/p256-armv8-asm-apple.S:1160:25: error: unexpected token in argument list
adrp x23,Lone_mont at PAGE-64
```
It's worth noting that expressions involving @ can be complex and
brittle in MCParser, and much of the Mach-O @ offsets remains
under-tested.
* Allow default argument for parsePrimaryExpr. The argument, used by the niche llvm-ml,
should not require other targets to adapt.
Commit: 807cc3791fabd47bd24d57a8e4ab7df9117b3ede
https://github.com/llvm/llvm-project/commit/807cc3791fabd47bd24d57a8e4ab7df9117b3ede
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv64zbb.ll
Log Message:
-----------
[DAGCombiner] Fold subtraction if above threshold to `umin` (#134235)
Folds patterns such as:
unsigned foo(unsigned x, unsigned y) {
return x >= y ? x - y : x;
}
Before, on RISC-V:
sltu a2, a0, a1
addi a2, a2, -1
and a1, a1, a2
subw a0, a0, a1
Or, with Zicond:
sltu a2, a0, a1
czero.nez a1, a1, a2
subw a0, a0, a1
After, with Zbb:
subw a1, a0, a1
minu a0, a0, a1
Only applies to unsigned comparisons.
If `x >= y` then `x - y` is less than or equal `x`.
Otherwise, `x - y` wraps and is greater than `x`.
Commit: 7818e5ab6725c1590ff5c4a483a76f08b8697cb7
https://github.com/llvm/llvm-project/commit/7818e5ab6725c1590ff5c4a483a76f08b8697cb7
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/vec-shuffle-bit-shift.ll
M llvm/test/CodeGen/LoongArch/lasx/vec-shuffle-byte-shift.ll
M llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-bit-shift.ll
M llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-byte-shift.ll
Log Message:
-----------
[LoongArch] lower vector shuffle to shift if possible (#132866)
Commit: b122956390a6877536927c2b073a0b99f8b9704f
https://github.com/llvm/llvm-project/commit/b122956390a6877536927c2b073a0b99f8b9704f
Author: Hua Tian <akiratian at tencent.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/ModuloSchedule.cpp
A llvm/test/CodeGen/AArch64/aarch64-swp-ws-live-intervals-1.mir
Log Message:
-----------
[llvm][CodeGen] update live intervals for ModuloScheduleExpanderMVE (#132677)
ModuloScheduleExpanderMVE and ModuloScheduleExpander are used sequentially in
certain use cases. It is necessary to update live intervals for ModuloScheduleExpanderMVE;
otherwise, crashes may occur.
Commit: adfc577895811b5df3935be3b26aec52929afebd
https://github.com/llvm/llvm-project/commit/adfc577895811b5df3935be3b26aec52929afebd
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/omptarget-memcpy-align-metadata.mlir
Log Message:
-----------
[OpenMP][CodeExtractor]Add align metadata to load instructions (#131131)
Moving code to another function can lead to missed optimization
opportunities, because function passes operate on smaller chunks of
code, and they cannot figure out all details.
One example of missed optimization opportunities after code extraction
is information about pointer alignment. The instruction combine pass
adds information about pointer alignment to LLVM intrinsic memcpy calls
if it can deduce it from the code or if align metadata is added. If this
information is not present, then further optimization passes can
generate inefficient code.
If we add align metadata to extracted pointers, then the instruction
combine pass can add the align attribute to the LLVM intrinsic memcpy
call and unblock further optimization.
Scope of changes:
1. Analyze MLIR map operations. Add information about the alignment of
objects that are passed by reference to OpenMP GPU kernels.
2. Propagate alignment information to the outlined by `CodeExtractor`
helper functions.
Commit: 923da2b843c7ddf9c7d39ba9629ad7945a96ea5c
https://github.com/llvm/llvm-project/commit/923da2b843c7ddf9c7d39ba9629ad7945a96ea5c
Author: Wenju He <wenju.he at intel.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/tools/clang-format/git-clang-format
Log Message:
-----------
[clang-format] Add 'cl' to enable OpenCL kernel file formatting (#134529)
There are many .cl files in llvm repo. It would be great that
clang-format can support it.
Commit: 85742f764270c701d2245615c590702c5110b030
https://github.com/llvm/llvm-project/commit/85742f764270c701d2245615c590702c5110b030
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/docs/Dialects/LLVM.md
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/NVGPU/Utils/MMAUtils.cpp
M mlir/lib/Target/LLVMIR/TypeFromLLVM.cpp
Log Message:
-----------
[mlir][LLVM] Delete `getFixedVectorType` and `getScalableVectorType` (#135051)
The LLVM dialect no longer has its own vector types. It uses
`mlir::VectorType` everywhere. Remove
`LLVM::getFixedVectorType/getScalableVectorType` and use
`VectorType::get` instead. This commit addresses a
[comment](https://github.com/llvm/llvm-project/pull/133286#discussion_r2022192500)
on the PR that deleted the LLVM vector types.
Commit: f030f6f3c5ad44dca5c9f66c24e168a716fa1ece
https://github.com/llvm/llvm-project/commit/f030f6f3c5ad44dca5c9f66c24e168a716fa1ece
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lldb/source/Core/FormatEntity.cpp
Log Message:
-----------
[lldb][FormatEntity][NFCI] Refactor FunctionNameWithArgs into helper functions and use LLVM style (#135031)
I've always found this hard to read. Some upcoming changes make similar
computations, so I thought it's a good time to factor out this logic
into re-usable helpers and clean it up using LLVM's preferred
early-return style.
Commit: 344a491dad1ec117ea0f97eb09c56fe5edb51fe6
https://github.com/llvm/llvm-project/commit/344a491dad1ec117ea0f97eb09c56fe5edb51fe6
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/fp_trunc_store_fp64_to_bf16.ll
Log Message:
-----------
[CodeGen] Simplify expandRoundInexactToOdd (#134988)
FP_ROUND and FP_EXTEND the input value before FABSing it. This avoids
some bit twiddling to copy the sign bit from the input to the result. It
does introduce one extra FABS, but that is folded into another
instruction for free on AMDGPU, which is the only target currently
affected by this change.
Commit: a625bc60e2987502d2dd1b3372fa1b9cf3b2f2cf
https://github.com/llvm/llvm-project/commit/a625bc60e2987502d2dd1b3372fa1b9cf3b2f2cf
Author: Nathan Gauër <brioche at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/include/clang/Basic/AddressSpaces.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/TCE.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/cbuffer.hlsl
A clang/test/AST/HLSL/private.hlsl
M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
A clang/test/CodeGenHLSL/out-of-line-static.hlsl
A clang/test/CodeGenHLSL/static-variable.hlsl
M clang/test/SemaTemplate/address_space-dependent.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
Log Message:
-----------
[HLSL][SPIR-V] Add hlsl_private address space for SPIR-V (#133464)
This is an alternative to
https://github.com/llvm/llvm-project/pull/122103
In SPIR-V, private global variables have the Private storage class. This
PR adds a new address space which allows frontend to emit variable with
this storage class when targeting this backend.
This is covered in this proposal: llvm/wg-hlsl at 4c9e11a
This PR will cause addrspacecast to show up in several cases, like class
member functions or assignment. Those will have to be handled in the
backend later on, particularly to fixup pointer storage classes in some
functions.
Before this change, global variable were emitted with the 'Function'
storage class, which was wrong.
Commit: 135a7874dc2af6e2eb439db837eda273bdc54a63
https://github.com/llvm/llvm-project/commit/135a7874dc2af6e2eb439db837eda273bdc54a63
Author: Romaric Jodin <rjodin at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M libclc/clspv/lib/math/fma.cl
Log Message:
-----------
libclc: clspv: fma: remove fp16 implementation (#135002)
clspv is already handling generation of fp16. This implementation is
preventing clspv from making the best choice to use an emulation on top
of fp32-fma, or the native fp16-fma, depending on the command-line
arguments.
Commit: 7d32d72f10445657f598cbdf1bb5f3040373daf5
https://github.com/llvm/llvm-project/commit/7d32d72f10445657f598cbdf1bb5f3040373daf5
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M libclc/clspv/lib/math/fma.cl
Log Message:
-----------
[libclc][NFC] Remove blank line at end of file
Commit: 5543d9ded7330b21c1d52cdeafadc4b95a495ccc
https://github.com/llvm/llvm-project/commit/5543d9ded7330b21c1d52cdeafadc4b95a495ccc
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RegAllocFast.h
M llvm/include/llvm/CodeGen/RegAllocGreedyPass.h
M llvm/lib/CodeGen/RegAllocGreedy.cpp
Log Message:
-----------
[RegAlloc][NFC] Use `std::move` to avoid copy (#134533)
Commit: 785e7f06ddb1ba36aa679d23436726dcf61f8afb
https://github.com/llvm/llvm-project/commit/785e7f06ddb1ba36aa679d23436726dcf61f8afb
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/cmake/modules/LLVMConfig.cmake.in
Log Message:
-----------
Remember LLVM_ENABLE_LIBCXX setting in installed configuration (#134990)
The buidbot
[flang-aarch64-libcxx](https://lab.llvm.org/buildbot/#/builders/89) is
currently failing with an ABI issue. The suspected reason is that
LLVMSupport.a is built using libc++, but the unittests are using the
default C++ standard library, libstdc++ in this case. This predefined
`llvm_gtest` target uses the LLVMSupport from `find_package(LLVM)`,
which finds the libc++-built LLVMSupport.
To fix, store the `LLVM_ENABLE_LIBCXX` setting in the LLVMConfig.cmake
such that everything that links to LLVM libraries use the same standard
library. In this case discussed in
https://github.com/llvm/llvm-zorg/pull/387 it was the flang-rt
unittests, but other runtimes with GTest unittests should have the same
issue (e.g. offload), and any external project that uses
`find_package(LLVM)`.
Commit: d9cfd905248a7ef74826576978348600a372af5f
https://github.com/llvm/llvm-project/commit/d9cfd905248a7ef74826576978348600a372af5f
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M .ci/generate_test_report_lib.py
M .ci/generate_test_report_lib_test.py
Log Message:
-----------
[ci] Improve wording in CI test reports
We weren't saying where to click, make it clear you click on a
test name.
Commit: d34437e9e17be59a5b9da1937fec21886779885b
https://github.com/llvm/llvm-project/commit/d34437e9e17be59a5b9da1937fec21886779885b
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll
Log Message:
-----------
[RISCV] Recognize a zipeven/zipodd requiring larger SEW (#134923)
This is a follow up to f8ee58a3c, and improves code generation for the
XRivosVizip extension.
If we have a slide pair which could be a zipeven or zipodd if the
shuffle was widened, widen the shuffle and then mask the zipeven or
zipodd.
This is basically working around an order of matching issue; we match
the slide pair variants before trying widening. I considered whether we
should just widen slide pairs without any consideration of the zip
idioms, but the resulting codegen changes look mostly like churn, and
have no clear evidence of profitability.
Commit: cdb9c6190ff066756ce4eb898eea747c5076ad33
https://github.com/llvm/llvm-project/commit/cdb9c6190ff066756ce4eb898eea747c5076ad33
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/unittests/Symbol/UnwindPlanTest.cpp
M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
M lldb/unittests/UnwindAssembly/PPC64/TestPPC64InstEmulation.cpp
M lldb/unittests/UnwindAssembly/x86/Testx86AssemblyInspectionEngine.cpp
Log Message:
-----------
[lldb] Support negative function offsets in UnwindPlans (#134662)
These are needed for functions whose entry point is not their lowest
address.
Commit: e3350a62635777ee983d86b6f6c9be4b07f48fc8
https://github.com/llvm/llvm-project/commit/e3350a62635777ee983d86b6f6c9be4b07f48fc8
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
M llvm/test/Transforms/InstCombine/AMDGPU/bitcast-fold-lane-ops.ll
Log Message:
-----------
[AMDGPU] InstCombine llvm.amdgcn.ds.bpermute with uniform arguments (#130133)
Reland #129895 with a fix to avoid trying to combine bpermute of
bitcast.
Commit: 2fe123a1195e16e065f913ba2bba8582370a8707
https://github.com/llvm/llvm-project/commit/2fe123a1195e16e065f913ba2bba8582370a8707
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/cmake/modules/LLVMConfig.cmake.in
Log Message:
-----------
Revert "Remember LLVM_ENABLE_LIBCXX setting in installed configuration (#134990)"
This reverts commit 785e7f06ddb1ba36aa679d23436726dcf61f8afb.
It did not solve the problem with flang-aarch64-libcxx and caused
another failure with openmp-offload-amdgpu-runtime-2.
Commit: 716b02d8c575afde7af1af13df145019659abca2
https://github.com/llvm/llvm-project/commit/716b02d8c575afde7af1af13df145019659abca2
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
A llvm/test/Transforms/MemCpyOpt/memcpy-tbaa.ll
M llvm/test/Transforms/MemCpyOpt/stack-move.ll
Log Message:
-----------
[LLVM][MemCpyOpt] Unify alias tags if we optimize allocas (#129537)
Optimization of alloca instructions may lead to invalid alias tags.
Incorrect alias tags can result in incorrect optimization outcomes for
Fortran source code compiled by Flang with flags: `-O3 -mmlir
-local-alloc-tbaa -flto`.
This commit removes alias tags when memcpy optimization replaces two
arrays with one array, thus ensuring correct compilation of Fortran
source code using flags: `-O3 -mmlir -local-alloc-tbaa -flto`.
This commit is also a proposal to fix the reported issue:
https://github.com/llvm/llvm-project/issues/133984
---------
Co-authored-by: Shilei Tian <i at tianshilei.me>
Commit: 20507a9e95a08069863e9910a688a38370d58952
https://github.com/llvm/llvm-project/commit/20507a9e95a08069863e9910a688a38370d58952
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/AArch64/selectiondag-order.ll
M llvm/test/CodeGen/X86/selectiondag-order.ll
A llvm/test/Transforms/CodeGenPrepare/X86/cast-debuginfo-salvage.ll
Log Message:
-----------
[Verifier][CGP] Allow integer argument to dbg_declare (#134803)
Relaxes the newly added verifier rule to also allow an integer argument
to dbg_declare, which is interpreted as a pointer. Adjust CGP to deal with
it gracefully.
Fixes https://github.com/llvm/llvm-project/issues/134523.
Alternative to https://github.com/llvm/llvm-project/pull/134601.
Commit: 64b5e8f2b732defc35831d5765175647d763264d
https://github.com/llvm/llvm-project/commit/64b5e8f2b732defc35831d5765175647d763264d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
Log Message:
-----------
[X86] masked_gather_scatter.ll - clean up check prefixes
Share X86/X64 common prefixes as much as possible to reduce duplication
Commit: d02a704ec952f01ab258e8c4cbb3c01c8f768e15
https://github.com/llvm/llvm-project/commit/d02a704ec952f01ab258e8c4cbb3c01c8f768e15
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/revec-getExtractWithExtendCost.ll
Log Message:
-----------
[SLP][REVEC] Make getExtractWithExtendCost support FixedVectorType as Dst. (#134822)
Commit: c7745b0babb0151d9fe9cdc4fc180b0b53821e98
https://github.com/llvm/llvm-project/commit/c7745b0babb0151d9fe9cdc4fc180b0b53821e98
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-st1.ll
Log Message:
-----------
[AArch64][test] Regenerate arm64-st1.ll using update_llc_test_checks.py (NFC) (#134919)
This is a fairly large test file which can be annoying to manually
update. Using --filter-out gets pretty close to the original checks.
Commit: dcb2ae126de1ce64a9164a3e63f328ae1859ea46
https://github.com/llvm/llvm-project/commit/dcb2ae126de1ce64a9164a3e63f328ae1859ea46
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/BUILD.gn
A llvm/utils/gn/secondary/clang-tools-extra/clang-doc/support/BUILD.gn
Log Message:
-----------
[gn] port e10f67a8270c774
Commit: 6d98d45c9c1867d4006f93e04bc1380b36e34f18
https://github.com/llvm/llvm-project/commit/6d98d45c9c1867d4006f93e04bc1380b36e34f18
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang-tools-extra/clang-doc/CMakeLists.txt
Log Message:
-----------
reland [clang-doc][NFC] refactor out file helpers (#135164)
Split from https://github.com/llvm/llvm-project/pull/133161
refactor the code to extract file helpers used in HTML generators for
use in other generators for clang-doc
This patch fixes the error where compiling with
-DLLVM_LINK_LLVM_DYLIB=ON broke the buildbot
Commit: 71f629fc2a93e41577c09bdd782b2ba524ed5fea
https://github.com/llvm/llvm-project/commit/71f629fc2a93e41577c09bdd782b2ba524ed5fea
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
Log Message:
-----------
Initialize member variable; NFC (#135167)
This was found via a Coverity static analysis pass. There's no
indication this was being used incorrectly in practice, but there are
public interfaces which require `BR` to be non-null and valid, and `BR`
was not being initialized by the constructor.
This adds an in-class initializer for `BR` and some asserts, to be safe.
Commit: 5c8ba28c751bf0e7cb5c3ac9d223acba4cefc739
https://github.com/llvm/llvm-project/commit/5c8ba28c751bf0e7cb5c3ac9d223acba4cefc739
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Sema/SemaInit.cpp
M clang/test/C/C11/n1285.c
A clang/test/C/C11/n1285_1.c
M clang/test/CodeGen/xcore-abi.c
M clang/test/CodeGenObjC/property-array-type.m
M clang/www/c_status.html
Log Message:
-----------
[C11] Implement WG14 N1285 (temporary lifetimes) (#133472)
This feature largely models the same behavior as in C++11. It is
technically a breaking change between C99 and C11, so the paper is not
being backported to older language modes.
One difference between C++ and C is that things which are rvalues in C
are often lvalues in C++ (such as the result of a ternary operator or a
comma operator).
Fixes #96486
Commit: 6defc8ee66caef0191015a6943f1694ee7410459
https://github.com/llvm/llvm-project/commit/6defc8ee66caef0191015a6943f1694ee7410459
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
Log Message:
-----------
Initialize member variable; NFC
This was found via a Coverity static analysis pass. There's no
indication this was being used incorrectly in practice, but there are
public interfaces which require `BR` to be non-null and valid, and `BR`
was not being initialized by the constructor.
This adds an in-class initializer for `BR` and some asserts, to be safe.
Commit: 9ff27d5fc2d57a676a0d0a47684409c640f38c7f
https://github.com/llvm/llvm-project/commit/9ff27d5fc2d57a676a0d0a47684409c640f38c7f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/CodeGen/X86/avgfloors-scalar.ll
M llvm/test/CodeGen/X86/avgflooru-scalar.ll
Log Message:
-----------
[X86] add additional avgfloor 'add(shift(x,1),shift(y,1),and(x,y,1))' patterns
Add mixture of pattern combos to match against the SDPatternMatch::m_Reassociatable* matchers
Commit: 5a1b4ec6f4b773f191e98183ae4628785729daa1
https://github.com/llvm/llvm-project/commit/5a1b4ec6f4b773f191e98183ae4628785729daa1
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/test/C/C11/n1285_1.c
Log Message:
-----------
Fix broken bots
https://lab.llvm.org/buildbot/#/builders/190/builds/18038
This adds a triple and regenerates the test results.
Commit: ed858220276dd11f6c2d7a5d3e357c211f9c6190
https://github.com/llvm/llvm-project/commit/ed858220276dd11f6c2d7a5d3e357c211f9c6190
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/Format/FormatTokenLexer.cpp
M clang/unittests/Format/FormatTestJS.cpp
M clang/unittests/Format/FormatTestJava.cpp
Log Message:
-----------
[clang-format] Handle C++ keywords in other languages better (#132941)
There is some code to make sure that C++ keywords that are identifiers
in the other languages are not treated as keywords. Right now, the kind
is set to identifier, and the identifier info is cleared. The latter is
probably so that the code for identifying C++ structures does not
recognize those structures by mistake when formatting a language that
does not have those structures. But we did not find an instance where
the language can have the sequence of tokens, the code tries to parse
the structure as if it is C++ using the identifier info instead of the
token kind, but without checking for the language setting. However,
there are places where the code checks whether the identifier info field
is null or not. They are places where an identifier and a keyword are
treated the same way. For example, the name of a function in
JavaScript. This patch removes the lines that clear the identifier
info. This way, a C++ keyword gets treated in the same way as an
identifier in those places.
JavaScript
New
```JavaScript
async function
union(
myparamnameiswaytooloooong) {
}
```
Old
```JavaScript
async function
union(
myparamnameiswaytooloooong) {
}
```
Java
New
```Java
enum union { ABC, CDE }
```
Old
```Java
enum
union { ABC, CDE }
```
This reverts commit 97dcbdef6089175c45e14fcbcf5c88b10233a79a.
Commit: f7617f7f909102080f1a0cee46f8ca75ec8d14ff
https://github.com/llvm/llvm-project/commit/f7617f7f909102080f1a0cee46f8ca75ec8d14ff
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTestTableGen.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Recognize TableGen paste operator on separate line (#133722)
Formatting this piece of code made the program crash.
```
class TypedVecListRegOperand<RegisterClass Reg, int lanes, string eltsize>
: RegisterOperand<Reg, "printTypedVectorList<" # lanes # ", '"
# eltsize # "'>">;
```
The line starting with the `#` was treated as a separate preprocessor
directive line. Then the code dereferenced a null pointer when it tried
to continue parsing the first line that did not end in a semicolon.
Now the 2 problems are fixed.
Commit: 2b3aa56fd742775c5b05c3053778832aa76c0feb
https://github.com/llvm/llvm-project/commit/2b3aa56fd742775c5b05c3053778832aa76c0feb
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/gh134265.cpp
Log Message:
-----------
[MS][clang] Error about ambiguous operator delete[] only when required (#135041)
And issue was reported in
https://github.com/llvm/llvm-project/pull/133950#issuecomment-2787510484
. Since we don't always emit vector deleting dtors, only error out about
ambiguous operator delete[] when it will be required for vector deleting
dtor emission.
Commit: 4244a91be268111dd133fa4863504c4840e5361c
https://github.com/llvm/llvm-project/commit/4244a91be268111dd133fa4863504c4840e5361c
Author: Steven Perron <stevenperron at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
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/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
Log Message:
-----------
[SPIRV][NFC] Refactor pointer creation in GlobalRegistery (#134429)
This PR adds new interfaces to create pointer type, and adds
some requirements to the old interfaces. This is the first step in
https://github.com/llvm/llvm-project/issues/134119.
Commit: b0428870dae980af84e50dfa3ee6ed2165998678
https://github.com/llvm/llvm-project/commit/b0428870dae980af84e50dfa3ee6ed2165998678
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.a16.dim.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.a16.encode.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.ll
M llvm/test/MC/AMDGPU/gfx12_asm_vimage.s
M llvm/test/MC/AMDGPU/gfx12_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vimage.txt
Log Message:
-----------
[AMDGPU] Rename TH_STORE_RT_WB to TH_STORE_WB (#135171)
So it matches the documentation
Fixes: SWDEV-526726
Commit: 5978bb2936d9a71d8e6891c640a36be760b569d3
https://github.com/llvm/llvm-project/commit/5978bb2936d9a71d8e6891c640a36be760b569d3
Author: u4f3 <ricoafoat at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/IPO/DeadArgumentElimination.h
M llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
M llvm/test/Transforms/DeadArgElim/musttail-caller.ll
A llvm/test/Transforms/DeadArgElim/musttail-verifier.ll
Log Message:
-----------
[DeadArgElim] fix verifier failure when changing musttail's function signature (#127366)
This commit is for #107569 and #126817.
Stop changing musttail's caller and callee's function signature when
calling convention is not swifttailcc nor tailcc. Verifier makes sure
musttail's caller and callee shares exactly the same signature, see
commit 9ff2eb1 and #54964.
Otherwise just make sure the return type is the same and then process
musttail like usual calls.
close #107569, #126817
Commit: f989db5745b88cd72f2af7f67ff96071f5059922
https://github.com/llvm/llvm-project/commit/f989db5745b88cd72f2af7f67ff96071f5059922
Author: calebwat <107081575+calebwat at users.noreply.github.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[NFC] Use cast instead of dyn_cast for Src and Dst vec types in VecCombine folding (#134432)
SrcVecTy and DstVecTy are used without a null check, and originate from
a dyn_cast. This patch adjusts this to use a fixed cast, since it is not
checked for null before use otherwise, but is semantically guaranteed
from previous checks.
Commit: 15428e0d786939a5c7629a9978947c8a9112ce96
https://github.com/llvm/llvm-project/commit/15428e0d786939a5c7629a9978947c8a9112ce96
Author: David Stuttard <david.stuttard at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.waitcnt.out.order.ll
A llvm/test/CodeGen/AMDGPU/waitcnt-sample-out-order.mir
Log Message:
-----------
[AMDGPU] Add support for point sample accel out of order returns (#127991)
Add target feature for point sample acceleration and enable it for
relevant
targets.
Also add support to insert waitcnts where required when point sample
accel may
have occurred. This has implications for out of order returns, which is
why
extra waitcnts are required.
Add a VMEM_NOSAMPLER bit in the register masks to determine when
waitcnt is required.
Commit: 4b267bb7c2f1f84e10d3d47d17e0a19de6559de2
https://github.com/llvm/llvm-project/commit/4b267bb7c2f1f84e10d3d47d17e0a19de6559de2
Author: Richard Howell <rmaz at users.noreply.github.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lld/MachO/InputFiles.cpp
A lld/test/MachO/tapi-rpath.s
Log Message:
-----------
[lld] load rpaths from tbd files (#134925)
TBD files can contain rpaths, add support for setting them in DylibFile
during construction.
Commit: 85614e160ba569d719452ec80b842a0edc5ab930
https://github.com/llvm/llvm-project/commit/85614e160ba569d719452ec80b842a0edc5ab930
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/MissingFeatures.h
A clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/test/CIR/CodeGen/call.cpp
A clang/test/CIR/IR/call.cir
Log Message:
-----------
[CIR] Upstream initial function call support (#134673)
This patch upstreams initial support for making function calls in CIR.
Function arguments and return values are not included to keep the patch
small for review.
Related to #132487
Commit: a693f23ef2fc4022383d986a365da325f3d42ade
https://github.com/llvm/llvm-project/commit/a693f23ef2fc4022383d986a365da325f3d42ade
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/revec-load-compress.ll
Log Message:
-----------
[SLP][REVEC] Fix CompressVectorize does not expand mask when REVEC is enabled. (#135174)
Commit: 8820f4e52b1b4ae59603b9307ded4ffc0f27c112
https://github.com/llvm/llvm-project/commit/8820f4e52b1b4ae59603b9307ded4ffc0f27c112
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-vsetcc_fp.ll
M llvm/test/CodeGen/AArch64/fp16-v4-instructions.ll
Log Message:
-----------
[LLVM][CodeGen][AArch64] Regenerate CHECK lines for arm64-vsetcc_fp.ll and fp16-v4-instructions.ll.
Commit: 2bbe8e825e53f3878c344adc7b5440c1040b097e
https://github.com/llvm/llvm-project/commit/2bbe8e825e53f3878c344adc7b5440c1040b097e
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/test/Dialect/Tosa/level_check.mlir
Log Message:
-----------
[mlir][tosa] Add more level_check tests for tensor_dim and tensor_size (#135062)
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: b17bd73e620b0040b04e368ebe4d963add4bbaf1
https://github.com/llvm/llvm-project/commit/b17bd73e620b0040b04e368ebe4d963add4bbaf1
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[mlir][tosa] Add more negative tests for rank0 tensors, negate, and sub (#135061)
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 396e2ef3b7f43d59074738699b7c748a30e30376
https://github.com/llvm/llvm-project/commit/396e2ef3b7f43d59074738699b7c748a30e30376
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/identity-match-splat-less-defined.ll
Log Message:
-----------
[SLP][NFC]Add a test with incorrect identity match for less-defined splat
Commit: 3097ab0fe88809ca0cba754079766a56ec111df1
https://github.com/llvm/llvm-project/commit/3097ab0fe88809ca0cba754079766a56ec111df1
Author: Thomas BIZET <thomas.bizet at foss.st.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
A llvm/test/MC/ARM/directive-arch-armv8.1-m.s
A llvm/test/MC/ARM/directive-arch-armv8.1m.s
Log Message:
-----------
[ARM][MC] Add support for Armv8.1-M Mainline to '.arch' asm directive (#135184)
Armv8.1-M Mainline architecture is supported by Clang's driver & LLVM's
ARM backend, but MC would report an 'Unknown Arch: armv8.1-m.main' error
when processing '.arch armv8.1-m.main' assembler directives.
Commit: 378ac572accc6d14ed36136f261951f8607a9169
https://github.com/llvm/llvm-project/commit/378ac572accc6d14ed36136f261951f8607a9169
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/test/CodeGen/AArch64/vector-insert-dag-combines.ll
A llvm/test/CodeGen/PowerPC/poison-legalization.ll
A llvm/test/CodeGen/RISCV/poison-legalization.ll
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/pr119158.ll
Log Message:
-----------
Reland "[SelectionDAG] Introducing a new ISD::POISON SDNode to represent the poison value in the IR." (#135056)
A new ISD::POISON SDNode is introduced to represent the poison value in
the IR, replacing the previous use of ISD::UNDEF
Commit: 959b8aaeacfd13717b7e2cf51ecceea27fcac9a8
https://github.com/llvm/llvm-project/commit/959b8aaeacfd13717b7e2cf51ecceea27fcac9a8
Author: Alan Li <me at alanli.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
Log Message:
-----------
[MLIR][NFC] Expose `computeProduct` function. (#135192)
Make it non-static, as its functionality is quite generic.
Commit: 4ea57b3481c07fd8e19315752dfd0a03e1d7bd12
https://github.com/llvm/llvm-project/commit/4ea57b3481c07fd8e19315752dfd0a03e1d7bd12
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/identity-match-splat-less-defined.ll
Log Message:
-----------
[SLP]Fix detection of matching splat vector
Need to check, that the mask of the potentially matching splat node is
not less defined than the requested mask to avoid poison propagation and
incorrect code.
Fixes #135113
Commit: 83f831d46f46e9f68bec9b7a6592f678c8ba61ab
https://github.com/llvm/llvm-project/commit/83f831d46f46e9f68bec9b7a6592f678c8ba61ab
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
Log Message:
-----------
Fix-forward -Wcovered-switch-default error in #134429
Remove the default case to avoid buildbot error (https://lab.llvm.org/buildbot/#/builders/66/builds/12382/steps/8/logs/stdio):
```
/home/b/sanitizer-x86_64-linux/build/llvm-project/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp:85:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
85 | default:
| ^
```
(also https://llvm.org/docs/CodingStandards.html#don-t-use-default-labels-in-fully-covered-switches-over-enumerations)
Commit: 01a2922f0d35ac7e2062426b5e5dc5349485796a
https://github.com/llvm/llvm-project/commit/01a2922f0d35ac7e2062426b5e5dc5349485796a
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M libcxx/docs/ReleaseNotes.rst
R libcxx/docs/ReleaseNotes/19.rst
Log Message:
-----------
[libc++][doc] Removes LLVM 19 Release Notes. (#134894)
There will be no more LLVM-19 releases so we will not backport patches
for this release. This makes these Release Notes obsolete.
Commit: aaaa2a325bd1abb8c87e0171384fd2c42da5e38a
https://github.com/llvm/llvm-project/commit/aaaa2a325bd1abb8c87e0171384fd2c42da5e38a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/splat-score-adjustment.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-node-last-inst-vectorized.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-node-no-reorder-copy.ll
Log Message:
-----------
[SLP]Support vectorization of previously vectorized scalars in split nodes
Patch removes the restriction for the revectorization of the previously
vectorized scalars in split nodes, and moves the cost profitability
check to avoid regressions.
Reviewers: hiraditya, RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/134286
Commit: edf21314c98a4fe05d48f83dfab2b201ed8bfe9c
https://github.com/llvm/llvm-project/commit/edf21314c98a4fe05d48f83dfab2b201ed8bfe9c
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64BranchTargets.cpp
A llvm/test/CodeGen/AArch64/bti-linkage.ll
M llvm/test/CodeGen/AArch64/patchable-function-entry-bti.ll
Log Message:
-----------
[AArch64][v8.5A] Omit BTI for non-addr-taken static fns in ELF (#135043)
This follows up commit 7af2b51e761f499, which removed the BTI at the
start of functions with internal linkage (provided they weren't
indirectly called inside the translation unit) for Linux targets.
Now we leave out the BTI for any ELF target, including bare-metal,
because the AAELF64 document in the Arm ABI has been updated to make the
same guarantee as SYSVABI64: if the linker wants to insert an indirect
branch at link time (e.g. as part of a long branch thunk) it's
responsible for making a BTI-equipped landing pad.
That was too difficult to test in the existing codegen test
`patchable-function-entry-bti.ll`, because so much of LLVM's detailed
asm output changes for non-ELF targets. So I've simplified that back to
how it was before 7af2b51e761f499 (except that now it expects no BTI in
the disputed function), and made a new test checking specifically the
difference in BTI between the formats.
Commit: 3c6c5c764ad4ccd6d5339cebf7ea1b19310b1176
https://github.com/llvm/llvm-project/commit/3c6c5c764ad4ccd6d5339cebf7ea1b19310b1176
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFCI.
Commit: 0563569978fee1e780a560494c89869074933f58
https://github.com/llvm/llvm-project/commit/0563569978fee1e780a560494c89869074933f58
Author: alex-t <alex-t at users.noreply.github.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646-issue130119.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646.mir
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/ftrunc.f64.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
M llvm/test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
A llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.ll
A llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.mir
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/udivrem.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
Log Message:
-----------
[AMDGPU] SIFixSgprCopies should not process twice VGPR to SGPR copies inserted by PHI preprocessing. (#134153)
PHI operands and results must belong to the same register class.
If a PHI node produces an SGPR, but one of its operands is a VGPR, we
insert a VGPR-to-SGPR copy in the operand’s source block. The PHI
operand is then updated to use the destination register of the inserted
copy.
These inserted copies are processed immediately when they are created.
Therefore, we should avoid reprocessing them when handling their parent
block later.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: f2ff298867d7733122e32eead5a8c524b09dfdb1
https://github.com/llvm/llvm-project/commit/f2ff298867d7733122e32eead5a8c524b09dfdb1
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/lib/MC/TargetRegistry.cpp
Log Message:
-----------
[MC] Remove deprecated createAsmStreamer/createMCObjectStreamer with 3 trailing bool
They were deprecated around 867faeec054abb4c035673189c1169fef45f54c8
(June 2024)
Commit: 2f41fa387d6734c637d02cbcf985c7b312b1e23b
https://github.com/llvm/llvm-project/commit/2f41fa387d6734c637d02cbcf985c7b312b1e23b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libcxx/cmake/caches/AMDGPU.cmake
M offload/DeviceRTL/CMakeLists.txt
M offload/DeviceRTL/src/Mapping.cpp
A offload/test/api/amdgpu_code_object.c
Log Message:
-----------
[AMDGPU] Fix code object version not being set to 'none' (#135036)
Summary:
Previously, we removed the special handling for the code object version
global. I erroneously thought that this meant we cold get rid of this
weird `-Xclang` option. However, this also emits an LLVM IR module flag,
which will then cause linking issues.
Commit: 750d009bb22015be4b8b6278fb24dbda90c7b485
https://github.com/llvm/llvm-project/commit/750d009bb22015be4b8b6278fb24dbda90c7b485
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/shift-i512.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
M llvm/test/CodeGen/X86/vector-fshr-256.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-reduce-ctpop.ll
M llvm/test/CodeGen/X86/widen_fdiv.ll
Log Message:
-----------
[X86] combineConcatVectorOps - add concatenation handling for BITCAST nodes (#133913)
These nodes are effectively free, so we should only concatenate if the
inner nodes will concatenate together.
This also exposed a regression in canonicalizeShuffleWithOp that failed
to realize it could potentially merge shuffles with a CONCAT_VECTORS
node.
Commit: 18fe0124e7abbaba64db5793503cc86cb52965d8
https://github.com/llvm/llvm-project/commit/18fe0124e7abbaba64db5793503cc86cb52965d8
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/connection.h
M flang-rt/include/flang-rt/runtime/io-stmt.h
M flang-rt/lib/runtime/connection.cpp
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/lib/runtime/io-api.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/lib/runtime/unit.cpp
M flang/include/flang/Common/uint128.h
Log Message:
-----------
[flang][runtime] Formatted input optimizations (#134715)
Make some minor tweaks (inlining, caching) to the formatting input path
to improve integer input in a SPEC code. (None of the I/O library has
been tuned yet for performance, and there are some easy optimizations
for common cases.) Input integer values are now calculated with native
C/C++ 128-bit integers.
A benchmark that only reads about 5M lines of three integer values each
speeds up from over 8 seconds to under 3 in my environment with these
changeds.
If this works out, the code here can be used to optimize the formatted
input paths for real and character data, too.
Fixes https://github.com/llvm/llvm-project/issues/134026.
Commit: cf8c02f71d43b93241eb5d8262a829047afcbfb7
https://github.com/llvm/llvm-project/commit/cf8c02f71d43b93241eb5d8262a829047afcbfb7
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang/lib/Parser/parsing.cpp
A flang/test/Preprocessing/bug134986.F90
Log Message:
-----------
[flang] Don't insert spaces in -E output after line continuation (#135063)
See test case. When Fortran line continuation has been used, don't
insert spaces in -E formatted output to put things into the right
column, as this can break up a token.
Fixes https://github.com/llvm/llvm-project/issues/134986.
Commit: 61a72890774354aeed188d45aa161ff6bbddc581
https://github.com/llvm/llvm-project/commit/61a72890774354aeed188d45aa161ff6bbddc581
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/Bitcode/calling-conventions.3.2.ll
Log Message:
-----------
[NFC] Remove trailing whitespaces in `llvm/test/Bitcode/calling-conventions.3.2.ll`
Commit: 464035fc7de52b6fe9b09c9f4c9a19fd5d46fcae
https://github.com/llvm/llvm-project/commit/464035fc7de52b6fe9b09c9f4c9a19fd5d46fcae
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646-issue130119.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646.mir
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/ftrunc.f64.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
M llvm/test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
R llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.ll
R llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.mir
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/udivrem.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
Log Message:
-----------
Revert "[AMDGPU] SIFixSgprCopies should not process twice VGPR to SGPR copies inserted by PHI preprocessing. (#134153)"
This reverts commit 0563569978fee1e780a560494c89869074933f58.
Breaks tests, see comments on https://github.com/llvm/llvm-project/pull/134153
Commit: 3954d258a5d20c418718bb2f655665e02e6a7475
https://github.com/llvm/llvm-project/commit/3954d258a5d20c418718bb2f655665e02e6a7475
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/AST.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/CXX/class.derived/class.derived.general/p2.cpp
M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
M clang/test/SemaCXX/undefined-partial-specialization.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/type_pack_element.cpp
M clang/unittests/AST/TypePrinterTest.cpp
Log Message:
-----------
[clang] Improved canonicalization for template specialization types (#135119)
This changes the TemplateArgument representation to hold a flag
indicating whether a template argument of expression type is supposed to
be canonical or not.
This gets one step closer to solving
https://github.com/llvm/llvm-project/issues/92292
This still doesn't try to unique as-written TSTs. While this would
increase the amount of memory savings and make code dealing with the AST
more well-behaved, profiling template argument lists is still too
expensive for this to be worthwhile, at least for now. Without this
uniquing, this patch stands neutral in terms of performance impact.
This also fixes the context creation of TSTs, so that they don't in some
cases get incorrectly flagged as sugar over their own canonical form.
This is captured in the test expectation change of some AST dumps.
This fixes some places which were unnecessarily canonicalizing these
TSTs.
Commit: 39562de51007e9d6a2ce444475a7b78fba9fafcb
https://github.com/llvm/llvm-project/commit/39562de51007e9d6a2ce444475a7b78fba9fafcb
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/assume.ll
M llvm/test/Transforms/InstSimplify/shr-nop.ll
Log Message:
-----------
[ValueTracking] Handle assume(trunc x to i1) in ComputeKnownBits (#118406)
proof: https://alive2.llvm.org/ce/z/zAspzb
Commit: a4e6a771a68660de312aeaaceed0c7d41a680912
https://github.com/llvm/llvm-project/commit/a4e6a771a68660de312aeaaceed0c7d41a680912
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.py
Log Message:
-----------
libcxx: In gdb test detect execute_mi with feature check instead of version check.
The existing version check can lead to test failures on some distribution
packages of gdb where not all components of the version number are
integers, such as Fedora where gdb.VERSION can be something like
"15.2-4.fc41". Fix it by replacing the version check with a feature check.
Reviewers: philnik777
Reviewed By: philnik777
Pull Request: https://github.com/llvm/llvm-project/pull/132291
Commit: f53eb88d2589590960b56a3cc54c5da97cc41842
https://github.com/llvm/llvm-project/commit/f53eb88d2589590960b56a3cc54c5da97cc41842
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lld/ELF/Relocations.cpp
Log Message:
-----------
ELF: Remove lock from MTE global relocation handling code.
This lock is unnecessary because we can add the relocations to
shards and let them be sorted later.
Reviewers: smithp35, fmayer, MaskRay
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/135123
Commit: cd56666d7b6fa0b3214c226b2ae8a473537a009e
https://github.com/llvm/llvm-project/commit/cd56666d7b6fa0b3214c226b2ae8a473537a009e
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/io-stmt.h
Log Message:
-----------
[flang][runtime] Fix CUDA flang-rt build breakage (#135220)
I used "std::nullopt" instead of the correct "Fortran::common::nullopt"
in a recent patch, and you can get away with that only for CPU builds.
Fix.
Commit: 2927050dd4f9df5ec85c6ecb0ac1450a8695b242
https://github.com/llvm/llvm-project/commit/2927050dd4f9df5ec85c6ecb0ac1450a8695b242
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
Log Message:
-----------
[BOLT] Gadget scanner: refine class names and debug output (NFC) (#135073)
Scanning functions without CFG information as well as the detection of
authentication oracles requires introducing more classes related to
register state analysis. To make the future code easier to understand,
rename several classes beforehand.
To detect authentication oracles, one has to query the properties of
*output* operands of authentication instructions *after* the instruction
is executed - this requires adding another analysis that iterates over
the instructions in reverse order, and a corresponding state class.
As the main difference of the existing `State` class is that it stores
the properties of source register operands of the instructions before
the instruction's execution, rename it to `SrcState` and
`PacRetAnalysis` to `SrcSafetyAnalysis`.
Apply minor adjustments to the debug output along the way.
Commit: 9102ccd2f7025dff6b858b813d089bec152365ba
https://github.com/llvm/llvm-project/commit/9102ccd2f7025dff6b858b813d089bec152365ba
Author: Malavika Samak <malavika.samak at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[CXX Safe Buffer] Update the documentation for unsafe_buffer_usage attribute (#135087)
Update the documentation for the unsafe_buffer_usage attribute to
capture the new behavior introduced by
https://github.com/llvm/llvm-project/pull/125671
Co-authored-by: MalavikaSamak <malavika2 at apple.com>
Commit: 6493345c5ab96f60ab5ee38272fb6635f2083318
https://github.com/llvm/llvm-project/commit/6493345c5ab96f60ab5ee38272fb6635f2083318
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lldb/tools/driver/CMakeLists.txt
M lldb/tools/driver/Driver.cpp
Log Message:
-----------
[lldb] Handle signals in a separate thread in the driver (#134956)
Handle signals in a separate thread in the driver so that we can stop
worrying about signal safety of functions in libLLDB that may get called
from a signal handler.
Commit: 6ca9a30c26641ac5f836cf794bed01ff61972f37
https://github.com/llvm/llvm-project/commit/6ca9a30c26641ac5f836cf794bed01ff61972f37
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/lib/Lower/ConvertCall.cpp
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
Log Message:
-----------
[flang][cuda] Update stream operand type for cuf.kernel_launch op (#135222)
Commit: 337a4d5526618c7c16f20967f7bd10d1cf27c6c4
https://github.com/llvm/llvm-project/commit/337a4d5526618c7c16f20967f7bd10d1cf27c6c4
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/bswap.ll
M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
Log Message:
-----------
[NVPTX] Use sink registers instead of temp registers where possible. (#134957)
PTX 7.1 introduces the concept of a "sink" register, `_`, which is a
register to which writes are ignored.
This patch makes us use sink registers where possible, instead of using
explicit temp registers.
This results in cleaner assembly, and also works around a problem we
encountered in some private workloads.
(Unfortunately the tablegen is not particularly clean. But then again,
it's tablegen...)
Commit: 755016a3a82eb1850d88b47d636088fb76e5f091
https://github.com/llvm/llvm-project/commit/755016a3a82eb1850d88b47d636088fb76e5f091
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/terminator.h
M flang-rt/lib/runtime/stop.cpp
M flang-rt/lib/runtime/terminator.cpp
M flang/include/flang/Common/enum-class.h
M flang/include/flang/Runtime/complex.h
Log Message:
-----------
[flang-rt] Fixed warnings and miscompilations in CUDA build. (#134470)
* DescribeIEEESignaledExceptions() is unused on the device - warning.
* StopStatementText() could return while marked noreturn - warning.
* Including cuda/std/complex only in the device compilation
may cause nvcc to try to register variables in `cuda` namespace,
while they are not defined in the host compilation - error.
I decided to include cuda/std/complex always under RT_USE_LIBCUDACXX.
Commit: 589e1c73d0fa2692cf997a7a9c2286996ad2fec7
https://github.com/llvm/llvm-project/commit/589e1c73d0fa2692cf997a7a9c2286996ad2fec7
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/CodeGenHLSL/BasicFeatures/frem_modulo.hlsl
A clang/test/SemaHLSL/Operators/frem_modulo-errors.hlsl
Log Message:
-----------
[HLSL] Add support for modulo of floating point scalar and vectors (#135125)
fixes #135122
SemaExpr.cpp - Make all doubles fail. Add sema support for float scalars
and vectors when language mode is HLSL.
CGExprScalar.cpp - Allow emit frem when language mode is HLSL.
Commit: 8bea91f677be4a05b1256a8052ab84dcd7ccb050
https://github.com/llvm/llvm-project/commit/8bea91f677be4a05b1256a8052ab84dcd7ccb050
Author: Leonard Grey <lgrey at chromium.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lld/MachO/Driver.cpp
M lld/MachO/InputFiles.cpp
M lld/MachO/InputFiles.h
A lld/test/MachO/archive-no-index.ll
A lld/test/MachO/archive-no-index.s
R lld/test/MachO/invalid/archive-no-index.s
Log Message:
-----------
[lld-macho] Support archives without index (#132942)
This is a ~port of https://reviews.llvm.org/D117284. Like in that
change, archives without indices are treated as a collection of lazy
object files (as in `--start-lib/--end-lib`)
Porting the ELF follow-up to convert *all* archives to the lazy object
code path (https://reviews.llvm.org/D119074) is a natural next step, but
we would need to ensure the assertions about memory use hold for Mach-O.
NB: without an index, we can't do the part of the `-ObjC` scan where we
check for Objective-C symbols directly. We *can* still check for
`__obcj` sections so I wonder how much of a problem this actually is,
since I'm not sure how the "symbols but no sections" case can appear in
the wild.
Commit: c893f1d18da6547027648f44592f61c08570d80f
https://github.com/llvm/llvm-project/commit/c893f1d18da6547027648f44592f61c08570d80f
Author: Tim Clephas <tim.clephas at nobleo.nl>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/docs/ClangFormat.rst
M clang/lib/Format/Format.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-format/clang-format-diff.py
M clang/tools/clang-format/git-clang-format
Log Message:
-----------
Treat ipynb as json (#135137)
Fixes #110727
Commit: 22c3dac454954a83efbfe147dd8d3dff6df39143
https://github.com/llvm/llvm-project/commit/22c3dac454954a83efbfe147dd8d3dff6df39143
Author: Pranav Kant <prka at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Fix for #134956 (#135233)
Commit: ccdbd3b78d19ba53d1c32fd506c72529cf6a7c17
https://github.com/llvm/llvm-project/commit/ccdbd3b78d19ba53d1c32fd506c72529cf6a7c17
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/profile_all_unsupported.mlir
Log Message:
-----------
[mlir][tosa] Rename int_div to intdiv (#135080)
This patch renames Tosa Operator int_div to intdiv to align with 1.0
spec
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: ca5346313782f53658ed383e802f6e45aaeacd42
https://github.com/llvm/llvm-project/commit/ca5346313782f53658ed383e802f6e45aaeacd42
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-launch.fir
Log Message:
-----------
[flang][cuda] Propagate stream information to gpu.launch_func op (#135227)
Use the information from `cuf.kernel_launch` to `gpu.launch_func`
Commit: 9c31155ead6e68450b8c2de38f5bec8f5c5db810
https://github.com/llvm/llvm-project/commit/9c31155ead6e68450b8c2de38f5bec8f5c5db810
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
M llvm/utils/TableGen/RegisterBankEmitter.cpp
Log Message:
-----------
TableGen: Optimize super-register class computation (#134865)
Inferring super-register classes naively requires checking every
register class against every other register class and sub-register
index.
Each of those checks is itself a non-trivial operation on register sets.
Culling as many (RC, RC, SubIdx) triples as possible is important for
the running time of TableGen for architectures with complex sub-register
relations.
Use transitivity to cull many (RC, RC, SubIdx) triples. This
unfortunately requires us to complete the transitive closure of
super-register classes explicitly, but it still cuts down the running
time on AMDGPU substantially -- in some upcoming work in the
backend by more than half (in very rough measurements).
This changes the names of some of the inferred register classes, since
the order in which they are inferred changes. The names of the inferred
register classes become shorter, which reduces the size of the generated
files.
Replacing some uses of SmallPtrSet by DenseSet shaves off a few more
percent; there are hundreds of register classes in AMDGPU.
Tweaking the topological signature check to skip reigsters without
super-registers further helps skip register classes that have "pseudo"
registers in them whose sub- and super-register structure is trivial.
Commit: d07a2164e7c7812b96b0f04a39af5483660bac71
https://github.com/llvm/llvm-project/commit/d07a2164e7c7812b96b0f04a39af5483660bac71
Author: Drew Lewis <cannada at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M libc/src/__support/FPUtil/aarch64/sqrt.h
M libc/src/__support/FPUtil/arm/sqrt.h
M libc/src/__support/FPUtil/riscv/sqrt.h
M libc/src/__support/FPUtil/x86_64/sqrt.h
Log Message:
-----------
Add generic sqrt root headers to libc sqrt specializations (#135237)
This header is needed to provide the declaration for the sqrt template.
You can build without these in the CMake build, but not having this
include in the architecture specific headers makes them not self
contained.
Commit: d7cb24e10d7c5468b91fa7297a1f4c97a663618a
https://github.com/llvm/llvm-project/commit/d7cb24e10d7c5468b91fa7297a1f4c97a663618a
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
Log Message:
-----------
[MLIR][NVVM] Run clang-tidy (#135006)
Commit: 72436b37bf4203ee43395c65cc179dc573f79251
https://github.com/llvm/llvm-project/commit/72436b37bf4203ee43395c65cc179dc573f79251
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/known-phi-br.ll
Log Message:
-----------
[InstCombine] add more test for #134712 (NFC)
Commit: dcb90780817461ba30ced78338b2270fd3307873
https://github.com/llvm/llvm-project/commit/dcb90780817461ba30ced78338b2270fd3307873
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/Lex/PPDirectives.cpp
A clang/test/Index/single-file-parse-include-macro.c
Log Message:
-----------
[clang][index] Skip over `#include UNDEF_IDENT` in single-file-parse mode (#135218)
In the 'single-file-parse' mode, seeing `#include UNDEFINED_IDENTIFIER`
should not be treated as an error. The identifier might be defined in a
header that we decided to skip, resulting in a nonsensical diagnostic
from the user point of view.
Commit: 74c2b41feb72698ea79b6bdc2dc566d0a25a68b0
https://github.com/llvm/llvm-project/commit/74c2b41feb72698ea79b6bdc2dc566d0a25a68b0
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/test/CIR/CodeGenOpenACC/init.c
M clang/test/CIR/CodeGenOpenACC/shutdown.c
Log Message:
-----------
[OpenACC][CIR] Implement 'device_type' clause lowering for 'init'/'sh… (#135102)
…utdown'
This patch emits the lowering for 'device_type' on an 'init' or
'shutdown'. This one is fairly unique, as these directives have it as an
attribute, rather than as a component of the individual operands, like
the rest of the constructs.
So this patch implements the lowering as an attribute.
In order to do tis, a few refactorings had to happen: First, the
'emitOpenACCOp' functions needed to pick up th edirective kind/location
so that the NYI diagnostic could be reasonable.
Second, and most impactful, the `applyAttributes` function ends up
needing to encode some of the appertainment rules, thanks to the way the
OpenACC-MLIR operands get their attributes attached. Since they each use
a special function (rather than something that can be legalized at
runtime), the forms of 'setDefaultAttr' is only valid for some ops. SO
this patch uses some `if constexpr` and a small type-trait to help
legalize these.
Commit: a1bca4ba3714bffac5dc27d286b5bd4fcdcc40ab
https://github.com/llvm/llvm-project/commit/a1bca4ba3714bffac5dc27d286b5bd4fcdcc40ab
Author: Pranav Kant <prka at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/test/Driver/openacc-no-cir.c
Log Message:
-----------
[clang] Make tests write to /dev/null if output is not needed (#135242)
We execute tests in read only environment which leads to test failure
when tests try to write to the current directory. Either they should
write to a temporary directory or not write if output is not needed.
Fallback from #134717
Commit: 53ae2bdceb124fa87ff4d2bcdc842e388e817fde
https://github.com/llvm/llvm-project/commit/53ae2bdceb124fa87ff4d2bcdc842e388e817fde
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
Log Message:
-----------
[mlir][NVVM] Remove commented out code (#135144)
This addresses a comment on #135051.
Commit: 9188288581f73a10bff9ee1500146dff7901e94c
https://github.com/llvm/llvm-project/commit/9188288581f73a10bff9ee1500146dff7901e94c
Author: darkbuck <michael.hliao at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
M mlir/lib/Dialect/DLTI/DLTI.cpp
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/lib/Target/LLVMIR/DataLayoutImporter.h
M mlir/test/Target/LLVMIR/Import/data-layout.ll
Log Message:
-----------
[mlir][DataLayout] Keep consistent input/output order (#135185)
- Use 'MapVector' instead of 'DenseMap' to keep a consistent order when
importing/printing entries to prevent run-by-run differences.
Commit: 966667f5419d6cdd8d02fdf9ad2e39c0a2f94fe1
https://github.com/llvm/llvm-project/commit/966667f5419d6cdd8d02fdf9ad2e39c0a2f94fe1
Author: Ashley Coleman <ascoleman at microsoft.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/unittests/Analysis/DXILResourceTest.cpp
Log Message:
-----------
[NFC][HLSL] Refactor DXILResourceTest for upcoming PR (#134952)
Local changes were getting pretty large and complex so this is an NFC
refactor PR to simplify the upcoming changes
Commit: e762baffd9f115106f861a236c56093c85dfbc93
https://github.com/llvm/llvm-project/commit/e762baffd9f115106f861a236c56093c85dfbc93
Author: David Green <david.green at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
Log Message:
-----------
[AArch64] Move SLId/SRId patterns into instruction definitions. NFC
The v1i64 patterns were next to the vector variants, not the SIMDScalar
instructions tht define them. In moving them closer they cal also be
incorporated into the definitions themselves. SIMDScalarRShiftDTied is
altered to remove the redundant i64 variants.
Commit: 61d04f1aac96f671a3975e04dac02d270b86ac4d
https://github.com/llvm/llvm-project/commit/61d04f1aac96f671a3975e04dac02d270b86ac4d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Extract preliminary checks from buildTree_rec, NFC
Moved check from buildTree_rec function to a separate
isLegalToVectorizeScalars function.
Reviewers: RKSimon, hiraditya
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/134132
Commit: ed4c3979085d1a7a5e32b5743aa9de1a22784161
https://github.com/llvm/llvm-project/commit/ed4c3979085d1a7a5e32b5743aa9de1a22784161
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M .github/workflows/ci-post-commit-analyzer.yml
M .github/workflows/libclang-python-tests.yml
M .github/workflows/llvm-project-tests.yml
M .github/workflows/spirv-tests.yml
Log Message:
-----------
[Github] Bump workflows depending on CI container to ubuntu 24.04 (#133626)
This patch bumps workflows depending upon the Linux CI container to
ubuntu 24.04. The 22.04 container is no longer being built as it was
recently bumped to 24.04, so this patch moves all of these workflows
over to the new container to keep them updated and ensure they are using
an actually maintained version of the container image.
Commit: 18189430abbbc13b055d029683413e992a3eac2d
https://github.com/llvm/llvm-project/commit/18189430abbbc13b055d029683413e992a3eac2d
Author: tltao <tony.le.tao at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
A llvm/test/CodeGen/SystemZ/init-undef.mir
Log Message:
-----------
[SystemZ] Add check for INIT_UNDEF in getInstSizeInBytes (#134661)
Due to some optimization changes, INIT_UNDEF is making its way to
`getInstSizeInBytes` in `llvm/lib/Target/SystemZ/SystemZLongBranch.cpp`
but we do not have an exception there in the assert. Since INIT_UNDEF is
described as being similar to IMPLICIT_DEF and there is a check for
IMPLICIT_DEF, it seems logical to also add a check for INIT_UNDEF.
---------
Co-authored-by: Tony Tao <tonytao at ca.ibm.com>
Commit: edd7b559c09e8e9b1fd0fc1905f0aaa67c74331f
https://github.com/llvm/llvm-project/commit/edd7b559c09e8e9b1fd0fc1905f0aaa67c74331f
Author: alex-t <alex-t at users.noreply.github.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646-issue130119.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646.mir
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/ftrunc.f64.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
M llvm/test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
A llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.ll
A llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.mir
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/udivrem.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
Log Message:
-----------
Reapply [AMDGPU] SIFixSgprCopies should not process twice VGPR to SGPR copies inserted by PHI preprocessing. (#135243)
LIT tests which were incorrectly merged are corrected.
Commit: a80a802d2f077257bcfee3aec67ea12dfc4e94da
https://github.com/llvm/llvm-project/commit/a80a802d2f077257bcfee3aec67ea12dfc4e94da
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/IROutliner.cpp
Log Message:
-----------
IROutliner: Use ValueMapper to remap constants in a function (#134850)
Stop relying on the uselist of constants, which also required filtering
the uses that are in the correct function. I'm not sure why this pass is
doing its own cloning instead of building the value map while doing its
cloning.
Commit: 5aeeebc1f4919c67b35954865d0cb2190517688e
https://github.com/llvm/llvm-project/commit/5aeeebc1f4919c67b35954865d0cb2190517688e
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
A llvm/test/CodeGen/PowerPC/undef-args.ll
Log Message:
-----------
[NFC] add a pre-commit test case for patch 122741 (#135247)
[NFC] add a pre-commit test case for patch [Eliminating li of 0 into arg
registers of unused
arguments](https://github.com/llvm/llvm-project/pull/122741)
The test case tests that extend poison are lower to undef and also test
there are redendunt instrution load 0 into argument registers for unused
arguments.
Commit: 641de84d3b3112b80683875af1fc01c45bc1afb3
https://github.com/llvm/llvm-project/commit/641de84d3b3112b80683875af1fc01c45bc1afb3
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/test/CodeGen/DirectX/pow.ll
Log Message:
-----------
[DirectX] legalize powi (#135228)
fixes #135221
- have powi use the same legalization path as pow
- use CreateSIToFP to cast the int back to a float type
- add tests for powi
Commit: 49f8ccd1ebe5caf4185230014701e861c43cefca
https://github.com/llvm/llvm-project/commit/49f8ccd1ebe5caf4185230014701e861c43cefca
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang-rt/lib/cuda/kernel.cpp
M flang/include/flang/Runtime/CUDA/kernel.h
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir
Log Message:
-----------
[flang][cuda] Pass stream information to kernel launch functions (#135246)
Commit: 721af7e636c3dc9bbc5b13ef52331addc8242b50
https://github.com/llvm/llvm-project/commit/721af7e636c3dc9bbc5b13ef52331addc8242b50
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M compiler-rt/lib/asan/asan_errors.cpp
M compiler-rt/lib/asan/asan_flags.inc
M compiler-rt/lib/asan/asan_poisoning.cpp
M compiler-rt/lib/asan/asan_poisoning.h
M compiler-rt/lib/asan/asan_posix.cpp
A compiler-rt/test/asan/TestCases/use-after-poison-history-size-partial-granule.cpp
A compiler-rt/test/asan/TestCases/use-after-poison-history-size.cpp
Log Message:
-----------
[asan] Add experimental 'poison_history_size' flag (#133175)
This adds an experimental flag that will keep track of where the manual memory poisoning (`__asan_poison_memory_region`) is called from, and print the stack trace if the poisoned region is accessed. (Absent this flag, ASan will tell you what code accessed a poisoned region, but not which code set the poison.)
This implementation performs best-effort record keeping using ring buffers, as suggested by Vitaly. The size of each ring buffer is set by the `poison_history_size` flag.
Commit: 36acaa0be5cf6273200d4cc4c35042c4bfc3861b
https://github.com/llvm/llvm-project/commit/36acaa0be5cf6273200d4cc4c35042c4bfc3861b
Author: Pengxuan Zheng <pzheng at quicinc.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
R llvm/test/CodeGen/Thumb2/constant-islands-no-split.mir
Log Message:
-----------
Revert "[ARM][ConstantIslands] Correct MinNoSplitDisp calculation (#114590)"
This reverts commit e48916f615e0ad2b994b2b785d4fe1b8a98bc322.
Commit: db22909089dbc28d072e8cba6183f5a51f418bf0
https://github.com/llvm/llvm-project/commit/db22909089dbc28d072e8cba6183f5a51f418bf0
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/basic.c
Log Message:
-----------
[CIR] Upstream support for cir.get_global (#135095)
This adds basic support for referencing global variables from within
functions via the cir.get_global operation.
Commit: e4a79b7122cbe6470c1a42e7b3549c37a1a6408d
https://github.com/llvm/llvm-project/commit/e4a79b7122cbe6470c1a42e7b3549c37a1a6408d
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lld/MinGW/Driver.cpp
Log Message:
-----------
[LLD] [MinGW] Fall back to using default target if no -m flag given. (#134700)
On Cygwin at least, GCC is not passing any -m flag to the linker, so
fall back to the default target triple to determine if we need to apply
i386-specific behaviors.
Fixes #134558
Commit: 801b519dfd01e21da0be17aa8f8dc2ceb0eb9e77
https://github.com/llvm/llvm-project/commit/801b519dfd01e21da0be17aa8f8dc2ceb0eb9e77
Author: mojyack <66899529+mojyack at users.noreply.github.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
Log Message:
-----------
[sanitizer_common] Fix build on ppc64+musl (#120036)
In powerpc64-unknown-linux-musl, signal.h does not include asm/ptrace.h,
which causes "member access into incomplete type 'struct pt_regs'"
errors. Include the header explicitly to fix this.
Also in sanitizer_linux_libcdep.cpp, there is a usage of TlsPreTcbSize
which is not defined in such a platform. Guard the branch with macro.
Commit: 6a9e8fc50c87a01798b847e623139fc21249c2bb
https://github.com/llvm/llvm-project/commit/6a9e8fc50c87a01798b847e623139fc21249c2bb
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-select-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
Log Message:
-----------
[VPlan] Introduce VPInstructionWithType, use instead of VPScalarCast(NFC) (#129706)
There are some opcodes that currently require specialized recipes, due
to their result type not being implied by their operands, including
casts.
This leads to duplication from defining multiple full recipes.
This patch introduces a new VPInstructionWithType subclass that also
stores the result type. The general idea is to have opcodes needing to
specify a result type to use this general recipe. The current patch
replaces VPScalarCastRecipe with VInstructionWithType, a similar patch
for VPWidenCastRecipe will follow soon.
There are a few proposed opcodes that should also benefit, without the
need of workarounds:
* https://github.com/llvm/llvm-project/pull/129508
* https://github.com/llvm/llvm-project/pull/119284
PR: https://github.com/llvm/llvm-project/pull/129706
Commit: 01ee922b2abe905bc922bc809141cba2ad13157c
https://github.com/llvm/llvm-project/commit/01ee922b2abe905bc922bc809141cba2ad13157c
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll
Log Message:
-----------
[RISCV] Add coverage for missing vrgather.vi shuffle case
If we have a near identity shuffle with a single element repeated, we
manage to match this as a masked vrgather.vi for the two operand
forms, but not the single operand form. If the scalar being repeated
was a scalar just inserted into the vector, we're also missing a
chance to recognize a vmerge.vxm or vmerge.vim in both cases.
Commit: 5de3118c677943848c0897e3e30208d744337b2d
https://github.com/llvm/llvm-project/commit/5de3118c677943848c0897e3e30208d744337b2d
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit2.ll
M llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit3.ll
Log Message:
-----------
[AMDGPU] Make the iterative schedulers selectable via amdgpu-sched-strategy (#135042)
Currently, the only way for users to try these schedulers is via
`-misched=` . However, this overrides the default scheduler for all
targets. This causes problems for various toolchains / drivers which
spawn jobs for both x86 and AMDGPU -- e.g. hipcc. On the other hand,
`amdgpu-sched-strategy` only changes the scheduler for AMDGPU target.
Commit: 26678454847e7b76ff8947c50c93d203de4a15a0
https://github.com/llvm/llvm-project/commit/26678454847e7b76ff8947c50c93d203de4a15a0
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/test/SemaOpenACC/set-construct.cpp
Log Message:
-----------
[OpenACC] device_type on set should have only 1 architecture
Discussions with the OpenACC Standard folks and the dialect folks showed
that the ability to have 'set' have a 'device_type' with more than one
architecture was a mistake, and one that will be fixed in future
revisions of the standard. Since the dialect requires this anyway,
we'll implement this in advance of standardization.
Commit: 78921cd884c37ba18ded34b6d32a548c069d6a84
https://github.com/llvm/llvm-project/commit/78921cd884c37ba18ded34b6d32a548c069d6a84
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
A clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/Lowering/array.cpp
Log Message:
-----------
[CIR] Upstream ArraySubscriptExpr for fixed size array (#134536)
This change adds ArraySubscriptExpr for fixed size ArrayType
Issue #130197
Commit: 324083b5fe13c2d1efa88b6bb81e440f950262e8
https://github.com/llvm/llvm-project/commit/324083b5fe13c2d1efa88b6bb81e440f950262e8
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M compiler-rt/lib/asan/asan_poisoning.cpp
Log Message:
-----------
[asan] Fix-forward #133175 by avoiding designated initializers
My patch broke the Windows build:
C:\PROGRA~2\MIB055~1\2019\PROFES~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\cl.exe /nologo /TP -DASAN_DYNAMIC=1 -DINTERCEPTION_DYNAMIC_CRT -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\b\slave\sanitizer-windows\build\stage1\projects\compiler-rt\lib\asan -IC:\b\slave\sanitizer-windows\llvm-project\compiler-rt\lib\asan -IC:\b\slave\sanitizer-windows\build\stage1\include -IC:\b\slave\sanitizer-windows\llvm-project\llvm\include -IC:\b\slave\sanitizer-windows\llvm-project\compiler-rt\lib\asan\.. /DWIN32 /D_WINDOWS /Zc:inline /Zc:preprocessor /Zc:__cplusplus /Z7 /Oi /bigobj /permissive- -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd5105 -wd4324 -wd4251 -wd4275 -w14062 -we4238 /Gw /W4 /O2 /Ob2 -std:c++17 -MD /Oy- /GS- /Zc:threadSafeInit- /Z7 /wd4146 /wd4291 /wd4391 /wd4722 /wd4800 /Zl /GR- /experimental:external /external:W0 /external:anglebrackets /showIncludes /Foprojects\compiler-rt\lib\asan\CMakeFiles\RTAsan_dynamic.x86_64.dir\asan_poisoning.cpp.obj /Fdprojects\compiler-rt\lib\asan\CMakeFiles\RTAsan_dynamic.x86_64.dir\ /FS -c C:\b\slave\sanitizer-windows\llvm-project\compiler-rt\lib\asan\asan_poisoning.cpp
C:\b\slave\sanitizer-windows\llvm-project\compiler-rt\lib\asan\asan_poisoning.cpp(164): error C7555: use of designated initializers requires at least '/std:c++20'
[2/3] Building CXX object projects\compiler-rt\lib\asan\CMakeFiles\RTAsan_dynamic_version_script_dummy.x86_64.dir\dummy.cpp.obj
https://lab.llvm.org/buildbot/#/builders/107/builds/9712/steps/4/logs/stdio
Commit: 80267f81482486977b3bdecf3855fc6a3096f912
https://github.com/llvm/llvm-project/commit/80267f81482486977b3bdecf3855fc6a3096f912
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/Basic/Targets/SystemZ.cpp
M clang/test/CodeGen/SystemZ/builtins-systemz-bitop.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector5-error.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector5.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector5-error.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector5.c
M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
M clang/test/CodeGen/SystemZ/systemz-abi.c
M clang/test/Driver/systemz-march.c
M clang/test/Misc/target-invalid-cpu-note/systemz.c
M clang/test/Preprocessor/predefined-arch-macros.c
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/SystemZ/SystemZProcessors.td
M llvm/lib/Target/SystemZ/SystemZSchedule.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ16.td
A llvm/lib/Target/SystemZ/SystemZScheduleZ17.td
M llvm/lib/TargetParser/Host.cpp
M llvm/test/Analysis/CostModel/SystemZ/divrem-reg.ll
M llvm/test/Analysis/CostModel/SystemZ/i128-cmp-ext-conv.ll
M llvm/test/Analysis/CostModel/SystemZ/int-arith.ll
M llvm/test/CodeGen/SystemZ/args-12.ll
M llvm/test/CodeGen/SystemZ/args-13.ll
M llvm/test/CodeGen/SystemZ/bitop-intrinsics.ll
M llvm/test/CodeGen/SystemZ/int-abs-03.ll
M llvm/test/CodeGen/SystemZ/int-add-19.ll
M llvm/test/CodeGen/SystemZ/int-cmp-64.ll
M llvm/test/CodeGen/SystemZ/int-conv-15.ll
M llvm/test/CodeGen/SystemZ/int-div-08.ll
M llvm/test/CodeGen/SystemZ/int-max-02.ll
M llvm/test/CodeGen/SystemZ/int-min-02.ll
M llvm/test/CodeGen/SystemZ/int-mul-14.ll
M llvm/test/CodeGen/SystemZ/int-mul-15.ll
M llvm/test/CodeGen/SystemZ/int-mul-16.ll
M llvm/test/CodeGen/SystemZ/int-neg-04.ll
M llvm/test/CodeGen/SystemZ/int-sub-12.ll
M llvm/test/CodeGen/SystemZ/llxa-01.ll
M llvm/test/CodeGen/SystemZ/llxa-02.ll
M llvm/test/CodeGen/SystemZ/llxa-03.ll
M llvm/test/CodeGen/SystemZ/llxa-04.ll
M llvm/test/CodeGen/SystemZ/llxa-05.ll
M llvm/test/CodeGen/SystemZ/lxa-01.ll
M llvm/test/CodeGen/SystemZ/lxa-02.ll
M llvm/test/CodeGen/SystemZ/lxa-03.ll
M llvm/test/CodeGen/SystemZ/lxa-04.ll
M llvm/test/CodeGen/SystemZ/lxa-05.ll
M llvm/test/CodeGen/SystemZ/scalar-ctlz-03.ll
M llvm/test/CodeGen/SystemZ/scalar-ctlz-04.ll
M llvm/test/CodeGen/SystemZ/scalar-cttz-03.ll
M llvm/test/CodeGen/SystemZ/scalar-cttz-04.ll
M llvm/test/CodeGen/SystemZ/vec-cmp-09.ll
M llvm/test/CodeGen/SystemZ/vec-div-03.ll
M llvm/test/CodeGen/SystemZ/vec-eval.ll
M llvm/test/CodeGen/SystemZ/vec-intrinsics-05.ll
M llvm/test/CodeGen/SystemZ/vec-mul-06.ll
M llvm/test/CodeGen/SystemZ/vec-mul-08.ll
M llvm/test/CodeGen/SystemZ/vec-mul-10.ll
M llvm/test/CodeGen/SystemZ/vec-mul-12.ll
M llvm/test/CodeGen/SystemZ/vec-mul-14.ll
M llvm/test/CodeGen/SystemZ/vec-unpack-02.ll
M llvm/test/CodeGen/SystemZ/vec-unpack-04.ll
R llvm/test/MC/Disassembler/SystemZ/insns-arch15.txt
A llvm/test/MC/Disassembler/SystemZ/insns-z17.txt
R llvm/test/MC/SystemZ/insn-bad-arch15.s
A llvm/test/MC/SystemZ/insn-bad-z17.s
R llvm/test/MC/SystemZ/insn-good-arch15.s
A llvm/test/MC/SystemZ/insn-good-z17.s
M llvm/test/Transforms/SLPVectorizer/SystemZ/revec-fix-128169.ll
M llvm/unittests/TargetParser/Host.cpp
Log Message:
-----------
Support z17 processor name and scheduler description (#135254)
The recently announced IBM z17 processor implements the architecture
already supported as "arch15" in LLVM. This patch adds support for "z17"
as an alternate architecture name for arch15.
This patch also add the scheduler description for the z17 processor,
provided by Jonas Paulsson.
Commit: c26d097d0c3e0e3924e273c0ec2d1e57192e66c8
https://github.com/llvm/llvm-project/commit/c26d097d0c3e0e3924e273c0ec2d1e57192e66c8
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
Log Message:
-----------
[alpha.webkit.RetainPtrCtorAdoptChecker] Support adopt(cast(copy(~)) (#132316)
This PR adds the support for recognizing calling adoptCF/adoptNS on the
result of a cast operation on the return value of a function which
creates NS or CF types. It also fixes a bug that we weren't reporting
memory leaks when CF types are created without ever calling RetainPtr's
constructor, adoptCF, or adoptNS.
To do this, this PR adds a new mechanism to report a memory leak
whenever create or copy CF functions are invoked unless this CallExpr
has already been visited while validating a call to adoptCF. Also added
an early exit when isOwned returns IsOwnedResult::Skip due to an
unresolved template argument.
Commit: 6c51603e4cc4978194c99d64d26712f97d715ffc
https://github.com/llvm/llvm-project/commit/6c51603e4cc4978194c99d64d26712f97d715ffc
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/use-after-poison-history-size-partial-granule.cpp
M compiler-rt/test/asan/TestCases/use-after-poison-history-size.cpp
Log Message:
-----------
[asan] Temporarily disable new test cases from #133175 on Android
My patch causes a build breakage on Android
(https://lab.llvm.org/buildbot/#/builders/186/builds/8103/steps/21/logs/stdio).
I can't easily test on Android, which is not the intended audience for
my patch anyway, so temporarily disable the test pending further
investigation.
Commit: 613601978073058f4a4620e93bb84ac8f387934a
https://github.com/llvm/llvm-project/commit/613601978073058f4a4620e93bb84ac8f387934a
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
M clang/test/Analysis/Checkers/WebKit/forward-decl-checker.mm
Log Message:
-----------
[alpha.webkit.ForwardDeclChecker] Recognize a forward declared template specialization (#134545)
This PR fixes a bug that when a template specialization is declared with
a forward declaration of a template, the checker fails to find its
definition in the same translation unit and erroneously emit an unsafe
forward declaration warning.
Commit: 2b984fd0e396fe6ab30cd823ea2f65f33f75409c
https://github.com/llvm/llvm-project/commit/2b984fd0e396fe6ab30cd823ea2f65f33f75409c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Interpreter/OptionValue.h
M lldb/source/Core/Debugger.cpp
M lldb/source/Interpreter/OptionValue.cpp
M lldb/unittests/Core/CMakeLists.txt
A lldb/unittests/Core/DebuggerTest.cpp
Log Message:
-----------
[lldb] Support programmatically setting the statusline format (NFC) (#135250)
Support programmatically setting the statusline format. I want to use
this API downstream, to change the statusline format for the Swift REPL.
Commit: 1331f171846c4a5620c7a049d9b05d70c8d674a3
https://github.com/llvm/llvm-project/commit/1331f171846c4a5620c7a049d9b05d70c8d674a3
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Replace getUnderlyingInstr() with type inference (NFC)
Remove an unnecessary use of getUnderlyingInstr().
Commit: 1cec5fffd8fddd9d85b516f876093b0e3f0eec5f
https://github.com/llvm/llvm-project/commit/1cec5fffd8fddd9d85b516f876093b0e3f0eec5f
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/examples/transform-opt/mlir-transform-opt.cpp
M mlir/include/mlir/IR/Diagnostics.h
M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
M mlir/lib/IR/Diagnostics.cpp
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
M mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp
M mlir/test/Pass/full_diagnostics.mlir
A mlir/test/Pass/full_diagnostics_only_expected.mlir
A mlir/test/mlir-translate/verify-only-expected.mlir
Log Message:
-----------
[mlir] implement `-verify-diagnostics=only-expected` (#135131)
This PR implements `verify-diagnostics=only-expected` which is a "best
effort" verification - i.e., `unexpected`s and `near-misses` will not be
considered failures. The purpose is to enable narrowly scoped checking
of verification remarks (just as we have for lit where only a subset of
lines get `CHECK`ed).
Commit: b39ab7a620e1bd038d6c22a667110ad814596288
https://github.com/llvm/llvm-project/commit/b39ab7a620e1bd038d6c22a667110ad814596288
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[mlir][tosa] Add error_if checks to clamp op verifier (#134224)
Specifically it introduces checks for:
- ERROR_IF(max_val < min_val)
- ERROR_IF(isNaN(min_val) || isNaN(max_val))
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Commit: 727f3921e7af7a4b0f1e59635ebb99a52bd173c3
https://github.com/llvm/llvm-project/commit/727f3921e7af7a4b0f1e59635ebb99a52bd173c3
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/CodeGenHLSL/res-may-alias.hlsl
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.h
A llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-0.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-1.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-shadermodel6.6.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-shadermodel6.7.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-shadermodel6.8.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll
Log Message:
-----------
[DirectX] Implement Shader Flags Analysis for ResMayNotAlias (#131070)
Fixes #112270
Completed ACs:
- `-res-may-alias` clang-dxc command-line option added
- It inserts and sets a module metadata flag `dx.resmayalias` to 1
- Shader flag set appropriately:
- The flag IS NOT set if DXIL Version <= 1.6 OR the command-line option
`-res-may-alias` is specified
- Otherwise the flag IS set when:
- DXIL Version > 1.7 AND function uses UAVs, OR
- DXIL Version <= 1.7 AND UAVs present globally
- Add tests
- Tests for Shader Models 6.6, 6.7, and 6.8 corresponding to DXIL
Versions 1.6, 1.7, and 1.8
- Tests (`res-may-alias-0.ll`/`res-may-alias-1.ll`) for when the module
metadata flag `dx.resmayalias` is set to 0 or 1 respectively
- A frontend test (`res-may-alias.hlsl`) for testing that that the
command-line option `-res-may-alias` inserts `dx.resmayalias` module
metadata correctly
Commit: 27bc8a1811d417c2d38646a3473226431987e7d9
https://github.com/llvm/llvm-project/commit/27bc8a1811d417c2d38646a3473226431987e7d9
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
R flang/include/flang/Optimizer/CodeGen/CGOps.h
R flang/include/flang/Optimizer/CodeGen/CGOps.td
M flang/include/flang/Optimizer/CodeGen/CMakeLists.txt
M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.h
A flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.td
A flang/include/flang/Optimizer/Dialect/FIRCG/CMakeLists.txt
M flang/lib/Frontend/CMakeLists.txt
R flang/lib/Optimizer/CodeGen/CGOps.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/Dialect/CMakeLists.txt
A flang/lib/Optimizer/Dialect/FIRCG/CGOps.cpp
A flang/lib/Optimizer/Dialect/FIRCG/CMakeLists.txt
M flang/lib/Optimizer/OpenACC/CMakeLists.txt
M flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
M flang/tools/fir-opt/CMakeLists.txt
M flang/tools/tco/CMakeLists.txt
M flang/unittests/Optimizer/CMakeLists.txt
Log Message:
-----------
[flang][NFC] Split CG dialect and the passes. (#135240)
I am making a CG pass to depend on `FIROpenACCSupport` in #134346.
This introduces a cyclic dependency between `FIROpenACCSupport`
and `FIRCodeGen`. This patch splits `FIRCodeGen` into
`FIRCodeGenDialect` (for FIR CG dialect definition) and `FIRCodeGen`
(for the CG passes).
Now, `FIROpenACCSupport` depends on `FIRCodeGenDialect`,
and `FIRCodeGen` depends on `FIROpenACCSupport`.
Commit: a62b9b387fab85ae8ad63992b002c333069d87ae
https://github.com/llvm/llvm-project/commit/a62b9b387fab85ae8ad63992b002c333069d87ae
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lldb/source/Core/Debugger.cpp
Log Message:
-----------
[lldb] Calling Debugger::SetStatuslineFormat should redraw the statusline
Commit: 2f298294759307e532dcce50549534cbe8ba6561
https://github.com/llvm/llvm-project/commit/2f298294759307e532dcce50549534cbe8ba6561
Author: Jason Rice <ricejasonf at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/AST/DeclCXX.h
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/SemaCXX/cxx2c-binding-pack-nontemplate.cpp
Log Message:
-----------
[Clang][P1061] Fix invalid pack binding crash (#135129)
Commit: 1cd59264aa2fb4b0ba70ff03c1298b1b5c21271e
https://github.com/llvm/llvm-project/commit/1cd59264aa2fb4b0ba70ff03c1298b1b5c21271e
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclarationName.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Driver/Options.td
M clang/include/clang/Sema/Sema.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/test/CXX/basic/basic.stc/basic.stc.dynamic/basic.stc.dynamic.allocation/p1.cpp
A clang/test/CodeGenCXX/Inputs/std-coroutine.h
A clang/test/CodeGenCXX/type-aware-allocators.cpp
A clang/test/CodeGenCXX/type-aware-coroutines.cpp
A clang/test/CodeGenCXX/type-aware-new-constexpr.cpp
A clang/test/CodeGenCXX/type-aware-placement-operators.cpp
M clang/test/CodeGenCoroutines/coro-alloc-2.cpp
M clang/test/Modules/new-delete.cpp
M clang/test/SemaCXX/cxx2a-destroying-delete.cpp
M clang/test/SemaCXX/delete.cpp
M clang/test/SemaCXX/new-delete.cpp
A clang/test/SemaCXX/type-aware-class-scoped-mismatched-constraints.cpp
A clang/test/SemaCXX/type-aware-coroutines.cpp
A clang/test/SemaCXX/type-aware-new-constexpr.cpp
A clang/test/SemaCXX/type-aware-new-delete-arrays.cpp
A clang/test/SemaCXX/type-aware-new-delete-basic-free-declarations.cpp
A clang/test/SemaCXX/type-aware-new-delete-basic-in-class-declarations.cpp
A clang/test/SemaCXX/type-aware-new-delete-basic-resolution.cpp
A clang/test/SemaCXX/type-aware-new-delete-qualifiers.cpp
A clang/test/SemaCXX/type-aware-new-invalid-type-identity.cpp
A clang/test/SemaCXX/type-aware-placement-operators.cpp
Log Message:
-----------
[RFC] Initial implementation of P2719 (#113510)
This is a basic implementation of P2719: "Type-aware allocation and
deallocation functions" described at http://wg21.link/P2719
The proposal includes some more details but the basic change in
functionality is the addition of support for an additional implicit
parameter in operators `new` and `delete` to act as a type tag. Tag is
of type `std::type_identity<T>` where T is the concrete type being
allocated. So for example, a custom type specific allocator for `int`
say can be provided by the declaration of
void *operator new(std::type_identity<int>, size_t, std::align_val_t);
void operator delete(std::type_identity<int>, void*, size_t, std::align_val_t);
However this becomes more powerful by specifying templated declarations,
for example
template <typename T> void *operator new(std::type_identity<T>, size_t, std::align_val_t);
template <typename T> void operator delete(std::type_identity<T>, void*, size_t, std::align_val_t););
Where the operators being resolved will be the concrete type being
operated over (NB. A completely unconstrained global definition as above
is not recommended as it triggers many problems similar to a general
override of the global operators).
These type aware operators can be declared as either free functions or
in class, and can be specified with or without the other implicit
parameters, with overload resolution performed according to the existing
standard parameter prioritisation, only with type parameterised
operators having higher precedence than non-type aware operators. The
only exception is destroying_delete which for reasons discussed in the
paper we do not support type-aware variants by default.
Commit: 1d8966e2465364dca8aea71d9331d46a0e908265
https://github.com/llvm/llvm-project/commit/1d8966e2465364dca8aea71d9331d46a0e908265
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang-rt/lib/cuda/kernel.cpp
Log Message:
-----------
[flang][cuda] Use the provided stream in kernel launch (#135267)
Commit: 9466cbdf29306b2595303dac5b62b54cf71841b4
https://github.com/llvm/llvm-project/commit/9466cbdf29306b2595303dac5b62b54cf71841b4
Author: Bangtian Liu <liubangtian at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/include/mlir-c/Dialect/Linalg.h
M mlir/lib/Bindings/Python/DialectLinalg.cpp
M mlir/lib/CAPI/Dialect/Linalg.cpp
M mlir/test/python/dialects/linalg/utils.py
Log Message:
-----------
[mlir][CAPI][python] expose the python bindings for linalg::isaConvolutionOpInterface and linalg::inferConvolutionDims (#135253)
This PR is mainly about exposing the python bindings for
`linalg::isaConvolutionOpInterface` and `linalg::inferConvolutionDims`.
---------
Signed-off-by: Bangtian Liu <liubangtian at gmail.com>
Commit: f4203ca2b7b047fc556535661f406e7fef758835
https://github.com/llvm/llvm-project/commit/f4203ca2b7b047fc556535661f406e7fef758835
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/terminator.h
Log Message:
-----------
[flang-rt] Declare DeviceTrap static inline. (#135286)
Commit: 77db154cf9383fa20685fca56633601ce0ea47fa
https://github.com/llvm/llvm-project/commit/77db154cf9383fa20685fca56633601ce0ea47fa
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
A clang/test/CIR/CodeGenOpenACC/set.c
Log Message:
-----------
[OpenACC][CIR] implement basic 'set' lowering with device_type clause
The 'set' lowering is pretty trivial. 'device_type' is a little more
restricted since both the MLIR-Dialect and language limit it to only 1
value (as confirmed by standards-discussion).
This patch implements 'set', with 'device_type', since 'set' requires at
least 1 clause, and this is the least difficult to implement at the
moment.
Commit: d14acb78065bdd331019924feaaef52e5e744529
https://github.com/llvm/llvm-project/commit/d14acb78065bdd331019924feaaef52e5e744529
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
A llvm/test/Transforms/IndVarSimplify/pr135182.ll
Log Message:
-----------
[IndVarSimplify] Handle the case where both operands are the same when widening IV (#135207)
`WidenIV::widenWithVariantUse` assumes that exactly one of the binop
operands is the IV to be widened. This miscompilation happens when it
tries to sign-extend the "NonIV" operand while the IV is zero-extended.
Closes https://github.com/llvm/llvm-project/issues/135182.
Commit: 1711996805c506f5717193aaeedf3752dfdd900d
https://github.com/llvm/llvm-project/commit/1711996805c506f5717193aaeedf3752dfdd900d
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.c
M clang/test/CodeGenCXX/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.cpp
Log Message:
-----------
[Clang][CodeGen] Do not set inbounds flag for struct GEP with null base pointers (#130734)
In the LLVM middle-end we want to fold `gep inbounds null, idx -> null`:
https://alive2.llvm.org/ce/z/5ZkPx-
This pattern is common in real-world programs
(https://github.com/dtcxzyw/llvm-opt-benchmark/pull/55#issuecomment-1870963906).
Generally, it exists in some (actually) unreachable blocks, which is
introduced by JumpThreading.
However, some old-style offsetof macros are still widely used in
real-world C/C++ code (e.g., hwloc/slurm/luajit). To avoid breaking
existing code and inconvenience to downstream users, this patch removes
the inbounds flag from the struct gep if the base pointer is null.
Commit: 701d726ef09ea89909df9bd2fdc63c63758fe8d6
https://github.com/llvm/llvm-project/commit/701d726ef09ea89909df9bd2fdc63c63758fe8d6
Author: Yonah Goldberg <ygoldberg at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/test/CodeGen/builtins-nvptx.c
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXPassRegistry.def
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVVMReflect.cpp
A llvm/test/CodeGen/NVPTX/nvvm-reflect-options.ll
Log Message:
-----------
[NVPTX] Improve NVVMReflect Efficiency (#134416)
The NVVMReflect pass simply replaces calls to nvvm-reflect functions
with the appropriate constant, either the architecture number, or
nvvm-reflect-ftz, found in the module's metadata.
The implementation is inefficient and does this by traversing through
all instructions to find calls. The common case is that you never call
nvvm-reflect, so this traversal is costly.
This PR:
- Updates the pass so that it finds the reflect functions by name, and
then traverses through their uses to find the calls directly.
- Adds a line (245) to make sure the dead nvvm-reflect definitions are
erased.
- Adds the ability to set reflect values via command line
Commit: 9aff19e7a3ff22ad15dc52609c65c785d4621fca
https://github.com/llvm/llvm-project/commit/9aff19e7a3ff22ad15dc52609c65c785d4621fca
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang/docs/ArrayRepacking.md
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
M flang/include/flang/Optimizer/Dialect/FIRAttr.h
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIRDialect.h
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
A flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.h
A flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.td
M flang/include/flang/Optimizer/OpenACC/RegisterOpenACCExtensions.h
A flang/include/flang/Optimizer/OpenMP/Support/RegisterOpenMPExtensions.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/lib/Optimizer/Dialect/CMakeLists.txt
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
A flang/lib/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.cpp
M flang/lib/Optimizer/OpenACC/CMakeLists.txt
A flang/lib/Optimizer/OpenACC/FIROpenACCAttributes.cpp
M flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/Support/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/Support/FIROpenMPAttributes.cpp
A flang/lib/Optimizer/OpenMP/Support/RegisterOpenMPExtensions.cpp
A flang/test/Lower/repack-arrays-safe.f90
A flang/test/Transforms/lower-repack-arrays-openacc.fir
A flang/test/Transforms/lower-repack-arrays-openmp.fir
M flang/tools/bbc/CMakeLists.txt
M flang/tools/fir-lsp-server/CMakeLists.txt
M flang/tools/fir-opt/CMakeLists.txt
M flang/tools/tco/CMakeLists.txt
Log Message:
-----------
[flang] Defined SafeTempArrayCopyAttrInterface for array repacking. (#134346)
This patch defines `fir::SafeTempArrayCopyAttrInterface` and the
corresponding
OpenACC/OpenMP related attributes in FIR dialect. The actual
implementations
are just placeholders right now, and array repacking becomes a no-op
if `-fopenacc/-fopenmp` is used for the compilation.
Commit: 862e7190c9d4672d3adf1bbde95b556c8e2d7544
https://github.com/llvm/llvm-project/commit/862e7190c9d4672d3adf1bbde95b556c8e2d7544
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_mac.h
Log Message:
-----------
Reland "Replace bool operator== for VersionType in sanitizer_mac.h" (#135276)
Fixes error: ISO C++20 considers use of overloaded operator '==' (with
operand types 'MacosVersion' and 'MacosVersion') to be ambiguous despite
there being a unique best viable function
[-Werror,-Wambiguous-reversed-operator].
This converts the comparison operator from a non-symmetric operator
(const VersionBase<VersionType>& (as "this") and const VersionType &).
into a symmetric operator
Relands #135068
Co-authored-by: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
Commit: 72540dbe01d143436be096b44deb89e625f350f7
https://github.com/llvm/llvm-project/commit/72540dbe01d143436be096b44deb89e625f350f7
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/tools/clang-format/git-clang-format
Log Message:
-----------
[clang-format][NFC] Reformat git-clang-format
Commit: 8bd93b8303cb0ae9ad993aacf8d0747d26dfb0cc
https://github.com/llvm/llvm-project/commit/8bd93b8303cb0ae9ad993aacf8d0747d26dfb0cc
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
Log Message:
-----------
[OpenMP][NFC] Do not collect kernels if they are not used (#135252)
Commit: b03aa291b8ddc962ff82859b5317d8ea8a7a3e87
https://github.com/llvm/llvm-project/commit/b03aa291b8ddc962ff82859b5317d8ea8a7a3e87
Author: Douglas Yung <douglas.yung at sony.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/test/CodeGen/PowerPC/undef-args.ll
Log Message:
-----------
Add 'REQUIRES: asserts' to test undef-args.ll added in #135247 to skip test when asserts are not present.
Should fix bot failure: https://lab.llvm.org/buildbot/#/builders/202/builds/601
Commit: f40001372b54ce68507f36b600f798e832478e16
https://github.com/llvm/llvm-project/commit/f40001372b54ce68507f36b600f798e832478e16
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll
Log Message:
-----------
[RISCV] Lower a shuffle which is nearly identity except one replicated element (#135292)
This can be done with a vrgather.vi/vx, and (possibly) a register move.
The alternative is to do a vrgather.vv with a full width index vector.
We'd already caught the two operands forms of this shuffle; this patch
specifically handles the single operand form.
Unfortunately only in abstract, it would be nice if we canonicalized
shuffles in some way wouldn't it?
Commit: 04c38981a9ce3e6225669c0e41cab947e3e7989f
https://github.com/llvm/llvm-project/commit/04c38981a9ce3e6225669c0e41cab947e3e7989f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
M clang/test/CodeGenCXX/pointers-to-data-members.cpp
Log Message:
-----------
[Clang][CodeGen] Do not set inbounds flag in `EmitMemberDataPointerAddress` when the base pointer is null (#130952)
See also https://github.com/llvm/llvm-project/pull/130734 for the
original motivation.
This pattern (`container_of`) is also widely used by real-world
programs.
Examples:
https://github.com/llvm/llvm-project/blob/1d89d7d5d76e391b035f50343e2a4890506c6f2b/llvm/include/llvm/IR/SymbolTableListTraits.h#L77-L87
https://github.com/nodejs/node/blob/a2a53cb728ec5f776ac16879ce0f480a8e838320/src/util-inl.h#L134-L137
https://github.com/search?q=*%29nullptr-%3E*&type=code
Commit: ba93fe97c235ddbf8e5d7f76b3cb48d9e0839ba0
https://github.com/llvm/llvm-project/commit/ba93fe97c235ddbf8e5d7f76b3cb48d9e0839ba0
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/test/X86/split-func-jump-table-fragment-bidirection.s
Log Message:
-----------
[BOLT][NFC] Simplify getOrCreate/analyze/populate/emitJumpTable (#132108)
Commit: c04d9d57ee4c116ecc1222b1f4458a21be13ac15
https://github.com/llvm/llvm-project/commit/c04d9d57ee4c116ecc1222b1f4458a21be13ac15
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M bolt/lib/Passes/AsmDump.cpp
M clang/tools/driver/cc1as_main.cpp
M llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/TargetRegistry.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
M llvm/test/tools/llvm-mc/disassembler-options.test
M llvm/tools/llvm-mc/llvm-mc.cpp
M llvm/tools/llvm-ml/llvm-ml.cpp
Log Message:
-----------
MCAsmStreamer: Replace the MCInstPrinter * parameter with unique_ptr
... to clarify ownership, aligning with other parameters. Using
`std::unique_ptr` encourages users to manage `createMCInstPrinter` with
a unique_ptr instead of a raw pointer, reducing the risk of memory
leaks.
* llvm-mc: fix a leak and update llvm/test/tools/llvm-mc/disassembler-options.test
* #121078 copied the llvm-mc code to CodeGenTargetMachineImpl and made
the same mistake. Fixed by 2b8cc651dca0c000ee18ec79bd5de4826156c9d6
Using unique_ptr requires #include MCInstPrinter.h in a few translation
units.
* Delete a createAsmStreamer overload I deprecated in 2024
* SystemZMCTargetDesc.cpp: rename to `createSystemZAsmStreamer` to fix
an overload conflict.
Pull Request: https://github.com/llvm/llvm-project/pull/135128
Commit: db27a0af5e6b5fb37e0f95d92d3777ddaaf97f90
https://github.com/llvm/llvm-project/commit/db27a0af5e6b5fb37e0f95d92d3777ddaaf97f90
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/test/Analysis/MemoryDependenceAnalysis/InvariantLoad.ll
M llvm/test/Analysis/ValueTracking/gep-negative-issue.ll
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
M llvm/test/Transforms/GVN/constexpr-vector-constainsundef-crash-inseltpoison.ll
M llvm/test/Transforms/GVN/constexpr-vector-constainsundef-crash.ll
M llvm/test/Transforms/InstSimplify/ConstProp/cast-vector.ll
Log Message:
-----------
[AMDGPU][InstCombine][InstSimplify] Pre-commit tests for PR130742 (#135305)
https://github.com/llvm/llvm-project/pull/130742#discussion_r1993055149
Commit: 3b70715c13876c51542ebfe2e3f4ee908f6785cb
https://github.com/llvm/llvm-project/commit/3b70715c13876c51542ebfe2e3f4ee908f6785cb
Author: Martin Storsjö <martin at martin.st>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/test/test_demangle.pass.cpp
Log Message:
-----------
[libcxxabi] Use __LDBL_MANT_DIG__ for configuring demangling of long doubles (#134976)
This avoids needing to hardcode the mapping between architectures and
their sizes of long doubles.
This fixes a case in test_demangle.pass.cpp, that previously failed like
this (XFAILed):
.---command stdout------------
| Testing 29859 symbols.
| _ZN5test01hIfEEvRAcvjplstT_Le4001a000000000000000E_c should be invalid
but is not
| Got: 0, void test0::h<float>(char (&) [(unsigned int)(sizeof (float) +
0x0.07ff98f7ep-1022L)])
`-----------------------------
.---command stderr------------
| Assertion failed: !passed && "demangle did not fail", file
libcxxabi/test/test_demangle.pass.cpp, line 30338
`-----------------------------
This testcase is defined within
// Is long double fp80? (Only x87 extended double has 64-bit mantissa)
#define LDBL_FP80 (__LDBL_MANT_DIG__ == 64)
...
#if !LDBL_FP80
...
#endif
The case failed on x86 architectures with an unusual size for long
doubles, as the test expected the demangler to not be able to demangle
an 80 bit long double (based on the `__LDBL_MANT_DIG__ == 64` condition
in the test). However as the libcxxabi implementation was hardcoded to
demangle 80 bit long doubles on x86_64 regardless of the actual size,
this test failed (by unexpectedly being able to demangle it).
By configuring libcxxabi's demangling of long doubles to match what the
compiler specifies, we no longer hit the expected failures in the
test_demangle.pass.cpp test on Android on x86.
This makes libcxxabi require a GCC-compatible compiler that defines
nonstandard defines like `__LDBL_MANT_DIG__`, but I presume that's
already essentially required anyway.
Commit: eccd7aa88879570ca12629a63d08a1e27fac0463
https://github.com/llvm/llvm-project/commit/eccd7aa88879570ca12629a63d08a1e27fac0463
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
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/RISCVFixupKinds.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/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcilb-invalid.s
A llvm/test/MC/RISCV/xqcilb-relocations.s
Log Message:
-----------
[RISCV] Add symbol parsing support for Xqcilb long branch instructions (#135044)
This patch adds support for parsing symbols in the Xqcilb long branch
instructions. The instructions use the `R_RISCV_QC_E_JUMP_PLT`
relocation and the `InstFormatQC_EJ` instruction format.
Vendor relocation support will be added in a later patch.
Commit: 715ad67c80ccb443d54575e81a3208674ef5b5c2
https://github.com/llvm/llvm-project/commit/715ad67c80ccb443d54575e81a3208674ef5b5c2
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/Sema/HeuristicResolver.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/test/CodeCompletion/member-access.cpp
Log Message:
-----------
[clang][CodeComplete] Use HeuristicResolver in getAsRecordDecl() (#130473)
Fixes https://github.com/llvm/llvm-project/issues/130468
Commit: 34fb673b0835c3b361eebacc7fd619dcea214063
https://github.com/llvm/llvm-project/commit/34fb673b0835c3b361eebacc7fd619dcea214063
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCDXContainerStreamer.h
M llvm/include/llvm/MC/MCELFStreamer.h
M llvm/include/llvm/MC/MCGOFFStreamer.h
M llvm/include/llvm/MC/MCSPIRVStreamer.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCWasmStreamer.h
M llvm/include/llvm/MC/MCWinCOFFStreamer.h
M llvm/include/llvm/MC/MCXCOFFStreamer.h
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCNullStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
Log Message:
-----------
MCStreamer: Remove Mach-O specific functions from derived MCObjectStreamer
Commit: 0816c7a95d04f141e136812910f3183df3bcbe7c
https://github.com/llvm/llvm-project/commit/0816c7a95d04f141e136812910f3183df3bcbe7c
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
Log Message:
-----------
MCParser: Remove unused enum constant
Commit: fa0498fdaed951dfb73a326a03fe3b00d544ea47
https://github.com/llvm/llvm-project/commit/fa0498fdaed951dfb73a326a03fe3b00d544ea47
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
Log Message:
-----------
[clang][HeuristicResolver] Apply default argument heuristic in resolveDeclRefExpr as well (#132576)
This is a follow-up to https://github.com/llvm/llvm-project/pull/131074.
After moving the default argument heuristic to `simplifyType` in that
patch, the heuristic no longer applied to the
`DependentScopeDeclRefExpr` case, because that wasn't using
`simplifyType`.
This patch fixes that, with an added testcase.
Commit: 9604bdf1180950c04f194584fdd2cca0f0668971
https://github.com/llvm/llvm-project/commit/9604bdf1180950c04f194584fdd2cca0f0668971
Author: offsetof <offsetof at mailo.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaType.cpp
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/Parser/cxx1z-class-template-argument-deduction.cpp
M clang/test/SemaCXX/ctad.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Allow parentheses around CTAD declarators (#132829)
Fixes #39811
Commit: c3eb6b7e61356aca7ffbcaf962544d3d8fb3713d
https://github.com/llvm/llvm-project/commit/c3eb6b7e61356aca7ffbcaf962544d3d8fb3713d
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
Log Message:
-----------
SPIRV: Suppress warnings in #134429
Commit: b3397bacfb85aa824e1257085500551d3026d49a
https://github.com/llvm/llvm-project/commit/b3397bacfb85aa824e1257085500551d3026d49a
Author: z <feqin1023 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/MachineOperand.cpp
Log Message:
-----------
[CodeGen][LLVM] Fix MachineOperand::print crash when TII is nullptr. (#135170)
This crash will caused if run this testcase:
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.barrier-fastregalloc.ll
When build the SDNode, precisely build the SDNode for this ir:
```ir
call void @llvm.amdgcn.ds.gws.barrier(i32 %val, i32 0)
```
If want call the dump function of the new SDNode in the gdb environment
like this:
```gdb
p N->dump()
```
The llvm will crash.
All of these is because calling ```dump()``` will cause the
calling```MachineMemOperand::print()```
with the argument value for the```TII``` is nullptr.
And the llvm/lib/CodeGen/MachineOperand.cpp#L1235 is a derefrence of
TII.
Signed-off-by: fanfuqiang <fuqiang.fan at mthreads.com>
Commit: 23c9cfcb7494b2331a80661a0cb83f95a422833c
https://github.com/llvm/llvm-project/commit/23c9cfcb7494b2331a80661a0cb83f95a422833c
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/DWARFCallFrameInfo.h
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
Log Message:
-----------
[lldb] Small refactor of eh_frame parsing (#134806)
.. which prepares us for handling of discontinuous functions. The main
change there is that we can have multiple FDEs contributing towards an
unwind plan of a single function. This patch separates the logic for
parsing of a single FDE from the construction of an UnwindPlan (so that
another patch can change the latter to combine several unwind plans).
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: aeb06c61523499bc88af1a24eb645be972b482d4
https://github.com/llvm/llvm-project/commit/aeb06c61523499bc88af1a24eb645be972b482d4
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Target/LLVMIR/Import/call-attributes.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[MLIR] Adding 'inline_hint' attribute on LLMV::CallOp (#134582)
Addition of `inlinehint` attributes for CallOps in MLIR in order to be
able to say to a function call that the inlining is desirable without
having the attribute on the FuncOp.
Commit: 0276915a6c888906b2140a3d97e5ce32057a3ca5
https://github.com/llvm/llvm-project/commit/0276915a6c888906b2140a3d97e5ce32057a3ca5
Author: Björn Svensson <bjorn.a.svensson at est.tech>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/cert/err33-c.c
Log Message:
-----------
[clang-tidy] Fix `cert-err33-c` to ignore functions with same prefixes as target (#135160)
PR #82952 introduced regex matching for `CheckedFunctions` in
`UnusedReturnValueCheck` which is used by the checker `cert-err33-c`.
Add a testcase and fix false positives by adding end-of-string to target
regex's.
---------
Signed-off-by: Björn Svensson <bjorn.a.svensson at est.tech>
Commit: fafeaab6d91334e9c251aa222cbca1eb94536bf2
https://github.com/llvm/llvm-project/commit/fafeaab6d91334e9c251aa222cbca1eb94536bf2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
A clang/test/AST/ByteCode/typeid.cpp
Log Message:
-----------
[clang][bytecode] Misc TypeidPointer fixes (#135322)
Fix comparing type id pointers, add mor info when print()ing them, use
the most derived type in GetTypeidPtr() and the canonically unqualified
type when we know the type statically.
Commit: 8a351f1f2ed593b5e3ddf453d744b9d53908c616
https://github.com/llvm/llvm-project/commit/8a351f1f2ed593b5e3ddf453d744b9d53908c616
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
M lld/test/ELF/loongarch-relax-tls-ie.s
Log Message:
-----------
[lld][LoongArch] Support relaxation during IE to LE conversion (#123702)
Complement https://github.com/llvm/llvm-project/pull/123680. When
relaxation enable, remove redundant NOPs.
Commit: 476c1c5ec557af59afb7b9eff0198e2d84c83973
https://github.com/llvm/llvm-project/commit/476c1c5ec557af59afb7b9eff0198e2d84c83973
Author: Nathan Gauër <brioche at google.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/lifetime.ll
Log Message:
-----------
[SPIR-V] Don't emit OpLifetime for Vulkan (#135166)
Those instructions require the Kernel capability, which is not available
when targeting Vulkan.
Commit: 8be4bd85708cddc8d84d03cf77ba4b02d0b6d44c
https://github.com/llvm/llvm-project/commit/8be4bd85708cddc8d84d03cf77ba4b02d0b6d44c
Author: Martin Storsjö <martin at martin.st>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxxabi/src/demangle/ItaniumDemangle.h
Log Message:
-----------
[libcxxabi] Fix the long double demangling for PowerPC (#135332)
PowerPC uses a slightly different type of floats for their 128 bit long
doubles, as "double-double", with __LDBL_MANT_DIG__ == 106 rather than
__LDBL_MANT_DIG__ == 113 for IEEE 128 bit floats.
This fixes compiling libcxxabi for PowerPC after
3b70715c13876c51542ebfe2e3f4ee908f6785cb.
Commit: d77dc875118859066a4c81226bca7d307b225e09
https://github.com/llvm/llvm-project/commit/d77dc875118859066a4c81226bca7d307b225e09
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/revec-SplitVectorize.ll
Log Message:
-----------
[SLP][REVEC] Fix type comparison and mask transformation for REVEC. (#135310)
When REVEC is enabled, ScalarTy may be a FixedVectorType. Compare its
element type to decide if casting is needed. Also apply mask
transformation accordingly.
Commit: 6d992f1db73ac8e27c87296411506d8bbdb9497e
https://github.com/llvm/llvm-project/commit/6d992f1db73ac8e27c87296411506d8bbdb9497e
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM][Maintainers] Add llvm-cov / Coverage maintainer (#130590)
Commit: 2e02164566ee548838dbee95860b321fb54a8501
https://github.com/llvm/llvm-project/commit/2e02164566ee548838dbee95860b321fb54a8501
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] getConstVector - remove raw bits -> fp handling and leave it to getNode/FoldConstantArithmetic (#135337)
getConstVector could only handle f32/f64 vector element types from raw APInt bit data - instead of trying to add all supported fp types, just bitcast the integer equivalent and leave it to getNode/FoldConstantArithmetic to perform the constant bitcast conversion
Tentative fix for a regression reported after #133913
Commit: b0b723a241e2f123527637e0564fd6956fb65521
https://github.com/llvm/llvm-project/commit/b0b723a241e2f123527637e0564fd6956fb65521
Author: Sergey Kachkov <sergey.kachkov at syntacore.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/frm-write-in-loop.ll
Log Message:
-----------
[RISCV][NFC] Add pre-commit test
Commit: 1d3d3f404ed134697405078411b0bd690a68be0e
https://github.com/llvm/llvm-project/commit/1d3d3f404ed134697405078411b0bd690a68be0e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
Log Message:
-----------
[DAG] SDPatternMatch::ReassociatableOpc_match - pull out repeated pattern count expression. NFC. (#135187)
Minor tidyup to remove so much template noise.
CC @esan5
Commit: 937cfdc7be56cb5cb46c098eecdb8e4f524add0d
https://github.com/llvm/llvm-project/commit/937cfdc7be56cb5cb46c098eecdb8e4f524add0d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
Log Message:
-----------
[X86] combineGatherScatter - split non-constant (add v, (splat b)) indices patterns and add the splat into the (scalar) base address (#135201)
We already did this for constant cases, this patch generalizes the existing fold to attempt to extract the splat from either operand of a ADD node for the gather/scatter index value
This cleanup should also make it easier to add support for splitting vXi32 indices on x86_64 64-bit pointer targets in the future as well.
Noticed while reviewing #134979
Commit: b99a2b6221259095bc6c07f2d574a3655d073a1e
https://github.com/llvm/llvm-project/commit/b99a2b6221259095bc6c07f2d574a3655d073a1e
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/revec-SplitVectorize.ll
Log Message:
-----------
[SLP][REVEC] Update test.
The test is affected by commit aaaa2a325bd1abb8c87e0171384fd2c42da5e38a.
Commit: b656915d5a4cbb35392d340142340bf9bef8d8d1
https://github.com/llvm/llvm-project/commit/b656915d5a4cbb35392d340142340bf9bef8d8d1
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
Log Message:
-----------
[lldb][Format][NFCI] Refactor CPlusPlusLanguage::GetFunctionDisplayName into helpers and use LLVM style (#135331)
Same cleanup as in https://github.com/llvm/llvm-project/pull/135031. It
pretty much is the same code that we had to duplicate in the language
plugin. Maybe eventually we'll find a way of getting rid of the
duplication.
Commit: cb43fe33b5d5084cf3b5a2723a03b692edb68018
https://github.com/llvm/llvm-project/commit/cb43fe33b5d5084cf3b5a2723a03b692edb68018
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxx/include/__config
M libcxx/include/__functional/hash.h
M libcxx/include/locale
M libcxx/include/regex
M libcxx/src/filesystem/path_parser.h
Log Message:
-----------
[libc++][NFC] Inline _LIBCPP_FALLTHROUGH() (#135001)
We have `[[fallthrough]]` available in all standards modes, so we can
just inline it like other stanard attributes we use.
Commit: 4cde945673a852e1c051134cd2d8ad48dc4924e1
https://github.com/llvm/llvm-project/commit/4cde945673a852e1c051134cd2d8ad48dc4924e1
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxx/include/__type_traits/is_abstract.h
M libcxx/include/__type_traits/is_aggregate.h
M libcxx/include/__type_traits/is_arithmetic.h
M libcxx/include/__type_traits/is_assignable.h
M libcxx/include/__type_traits/is_base_of.h
M libcxx/include/__type_traits/is_class.h
M libcxx/include/__type_traits/is_constructible.h
M libcxx/include/__type_traits/is_convertible.h
M libcxx/include/__type_traits/is_core_convertible.h
M libcxx/include/__type_traits/is_destructible.h
M libcxx/include/__type_traits/is_empty.h
M libcxx/include/__type_traits/is_enum.h
M libcxx/include/__type_traits/is_final.h
M libcxx/include/__type_traits/is_floating_point.h
M libcxx/include/__type_traits/is_fundamental.h
M libcxx/include/__type_traits/is_implicit_lifetime.h
M libcxx/include/__type_traits/is_literal_type.h
M libcxx/include/__type_traits/is_nothrow_assignable.h
M libcxx/include/__type_traits/is_nothrow_constructible.h
M libcxx/include/__type_traits/is_nothrow_destructible.h
M libcxx/include/__type_traits/is_pod.h
M libcxx/include/__type_traits/is_pointer.h
M libcxx/include/__type_traits/is_polymorphic.h
M libcxx/include/__type_traits/is_reference.h
M libcxx/include/__type_traits/is_reference_wrapper.h
M libcxx/include/__type_traits/is_scalar.h
M libcxx/include/__type_traits/is_signed.h
M libcxx/include/__type_traits/is_signed_integer.h
M libcxx/include/__type_traits/is_standard_layout.h
M libcxx/include/__type_traits/is_trivial.h
M libcxx/include/__type_traits/is_trivially_assignable.h
M libcxx/include/__type_traits/is_trivially_constructible.h
M libcxx/include/__type_traits/is_trivially_copyable.h
M libcxx/include/__type_traits/is_trivially_destructible.h
M libcxx/include/__type_traits/is_union.h
M libcxx/include/__type_traits/is_unsigned_integer.h
Log Message:
-----------
[libc++][NFC] Remove `public` from the type traits (#135088)
The type traits are always `struct`s, so the `public` isn't necessary.
We're currently using `public` in some places, while we omit it in
others. This makes us consistent across the type traits.
Commit: 9eeafc63d2f06f7aa216ddcf2370b20fbb1d9015
https://github.com/llvm/llvm-project/commit/9eeafc63d2f06f7aa216ddcf2370b20fbb1d9015
Author: Viktoriia Bakalova <115406782+VitaNuo at users.noreply.github.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/lib/Frontend/FrontendAction.cpp
A clang/test/Frontend/dump-minimization-hints.cpp
Log Message:
-----------
Implement `-dump-minimization-hints` flag. (#133910)
This PR implements a CC1 flag `-dump-minimization-hints`.
The flag allows to specify a file path to dump ranges of deserialized
declarations in `ASTReader`. Example usage:
```
clang -Xclang=-dump-minimization-hints=/tmp/decls -c file.cc -o file.o
```
Example output:
```
// /tmp/decls
{
"required_ranges": [
{
"file": "foo.h",
"range": [
{
"from": {
"line": 26,
"column": 1
},
"to": {
"line": 27,
"column": 77
}
}
]
},
{
"file": "bar.h",
"range": [
{
"from": {
"line": 30,
"column": 1
},
"to": {
"line": 35,
"column": 1
}
},
{
"from": {
"line": 92,
"column": 1
},
"to": {
"line": 95,
"column": 1
}
}
]
}
]
}
```
Specifying the flag creates an instance of
`DeserializedDeclsSourceRangePrinter`, which dumps ranges of deserialized
declarations to aid debugging and bug minimization (we use is as input to [C-Vise](https://github.com/emaxx-google/cvise/tree/multifile-hints).
Required ranges are computed from source ranges of Decls.
`TranslationUnitDecl`, `LinkageSpecDecl` and `NamespaceDecl` are ignored
for the sake of this PR.
Technical details:
* `DeserializedDeclsSourceRangePrinter` implements `ASTConsumer` and
`ASTDeserializationListener`, so that an object of
`DeserializedDeclsSourceRangePrinter` registers as its own listener.
* `ASTDeserializationListener` interface provides the `DeclRead`
callback that we use to collect the deserialized Decls.
Printing or otherwise processing them as this point is dangerous, since
that could trigger additional deserialization and crash compilation.
* The collected Decls are processed in `HandleTranslationUnit` method of
`ASTConsumer`. This is a safe point, since we know that by this point
all the Decls needed by the compiler frontend have been deserialized.
* In case our processing causes further deserialization, `DeclRead` from
the listener might be called again. However, at that point we don't
accept any more Decls for processing.
Commit: e377a5d1682d0410b1fd38b011c29b7d81d6b53b
https://github.com/llvm/llvm-project/commit/e377a5d1682d0410b1fd38b011c29b7d81d6b53b
Author: Vivek Khandelwal <vivekkhandelwal1424 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
M mlir/test/Dialect/Linalg/rank-reduce-contraction-ops.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[MLIR][Tensor] Remove tensor.dim canonicalization patterns registered on tensor.expand_shape/tensor.collapse_shape (#134219)
These are problematic because the iterative application that locally
resolves the tensor.dim operation introduces
intermediate floor_div, which is losing the information about the exact
division that was carried out in the original
IR, and the iterative algorithm can't converge towards the simplest
form.
Information loss is not acceptable for canonicalization.
Resolving the dimOp can be achieved through
resolve-ranked-shaped-type-result-dims and
resolve-shaped-type-result-dims passes.
---------
Signed-off-by: Vivek Khandelwal <vivekkhandelwal1424 at gmail.com>
Commit: 52a32471967f62ae4d1f905e7a2a5022be40a9c7
https://github.com/llvm/llvm-project/commit/52a32471967f62ae4d1f905e7a2a5022be40a9c7
Author: Ana Mihajlovic <Ana.Mihajlovic at amd.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/extract-subvector.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-block-end-iterator-debugloc.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
M llvm/test/CodeGen/AMDGPU/identical-subrange-spill-infloop.ll
M llvm/test/CodeGen/AMDGPU/kill-true-in-return-block.ll
M llvm/test/CodeGen/AMDGPU/lds-global-non-entry-func.ll
M llvm/test/CodeGen/AMDGPU/loop_exit_with_xor.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-loop-var-out-of-divergent-loop-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/si-annotate-nested-control-flows.ll
M llvm/test/CodeGen/AMDGPU/si-optimize-vgpr-live-range-dbg-instr.ll
Log Message:
-----------
[AMDGPU] Select (xor i1 (divergent trunc:i32 x), -1) -> cmp_neq x, 1 (#133698)
Commit: 3e743a568d9d14cc7158bb03a8074a6d4d0ab1d4
https://github.com/llvm/llvm-project/commit/3e743a568d9d14cc7158bb03a8074a6d4d0ab1d4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] lowerShuffleAsBitMask - generalize FP handling. (#135345)
Don't explicitly handle f32/f64 cases - allow any fp value type and convert to equivalent int type with MVT::changeTypeToInteger
Commit: 37a86cb89e9e03ac7c91f2217cab8adedceb61ac
https://github.com/llvm/llvm-project/commit/37a86cb89e9e03ac7c91f2217cab8adedceb61ac
Author: Ningning Shi(史宁宁) <shiningning at iscas.ac.cn>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
Log Message:
-----------
[NFC] Use the hasMinSize() instead of hasFnAttribute(Attribute::MinSize) (#135328)
The other code all use the hasMinSize(), so I change the last two
hasFnAttribute(Attribute::MinSize).
Commit: b46f16c8d7f4a9e37271cdc4717dd858a4c813dc
https://github.com/llvm/llvm-project/commit/b46f16c8d7f4a9e37271cdc4717dd858a4c813dc
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv64zbb.ll
Log Message:
-----------
[RISCV][test] Add tests for subtraction if above a constant threshold
Commit: e27a21f6a7fd191625ffca525323de643ed76be8
https://github.com/llvm/llvm-project/commit/e27a21f6a7fd191625ffca525323de643ed76be8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Add hasScalarTail, use instead of !CM.foldTailByMasking() (NFC). (#134674)
Now that VPlan is able to fold away redundant branches to the scalar
preheader, we can directly check in VPlan if the scalar tail may
execute. hasScalarTail returns true if the tail may execute.
We know that the scalar tail won't execute if the scalar preheader
doesn't have any predecessors, i.e. is not reachable.
This removes some late uses of the legacy cost model.
PR: https://github.com/llvm/llvm-project/pull/134674
Commit: c58777c2ad3464cfddc62e1da13dae443e868f3e
https://github.com/llvm/llvm-project/commit/c58777c2ad3464cfddc62e1da13dae443e868f3e
Author: Mészáros Gergely <gergely.meszaros at intel.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[clang][ReleaseNotes] Fix code block not rendering (#135330)
Bullet lists require a blank line between paragraphs therefore the `..
code-block::` directive only renders correctly if preceded by a blank
line.
Commit: bc2a5b5466cd3d0698830301f2594a136522c7e5
https://github.com/llvm/llvm-project/commit/bc2a5b5466cd3d0698830301f2594a136522c7e5
Author: Sergey Kachkov <109674256+skachkov-sc at users.noreply.github.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/frm-write-in-loop.ll
Log Message:
-----------
[RISCV] Explicitly set FRM defs as non-dead to prevent their reordering with instructions that may use it (#135176)
Fixes #135172. The proposed solution is to conservatively reset dead
flag from all $frm defs in AdjustInstrPostInstrSelection.
Commit: e36e57b478393a1c44ba1a2e3a2cff056e208c52
https://github.com/llvm/llvm-project/commit/e36e57b478393a1c44ba1a2e3a2cff056e208c52
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/include/llvm/Support/Compiler.h
Log Message:
-----------
[BUILD] Fix unicode build issue. (#135315)
Fix unicode build fail issue:
```
C4819 The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss ...\llvm-project\llvm\include\llvm\Support\Compiler.h
```
Commit: 2fd860c1f559c0b0be66cc000e38270a04d0a1a3
https://github.com/llvm/llvm-project/commit/2fd860c1f559c0b0be66cc000e38270a04d0a1a3
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
M lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp
Log Message:
-----------
[lldb] ProcessGdbRemote header gardning
Remove unused headers, add used headers, remove declared-but-not-defined
entities.
Commit: 01658b16661dcff8bc24da7d86cee8df6f0bb4bd
https://github.com/llvm/llvm-project/commit/01658b16661dcff8bc24da7d86cee8df6f0bb4bd
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaTemplateDeduction.cpp
Log Message:
-----------
Fix two MSVC warnings; NFC
One was "unsafe use of bool" and the other was "sign comparision
mismatch", and both were because we're treating a bool object as if it
were an unsigned int. Add a cast to make that more explicit.
Commit: dda53bef35c5ab49967e8755e69ce893ecb525c4
https://github.com/llvm/llvm-project/commit/dda53bef35c5ab49967e8755e69ce893ecb525c4
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/source/API/SBTarget.cpp
A lldb/test/API/python_api/target/read-instructions-flavor/Makefile
A lldb/test/API/python_api/target/read-instructions-flavor/TestTargetReadInstructionsFlavor.py
A lldb/test/API/python_api/target/read-instructions-flavor/main.c
Log Message:
-----------
[lldb] Fix SBTarget::ReadInstruction with flavor (#134626)
When you call the `SBTarget::ReadInstructions` with flavor from lldb
crashes. This is because the wrong order of the `DisassemblyBytes`
constructor this fixes that
---------
Signed-off-by: Ebuka Ezike <yerimyah1 at gmail.com>
Commit: c12cb0ccbb408c5e65801a6aa5a8e53b8b36c646
https://github.com/llvm/llvm-project/commit/c12cb0ccbb408c5e65801a6aa5a8e53b8b36c646
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/test/mlir-tblgen/op-python-bindings.td
M mlir/test/python/dialects/rocdl.py
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
Log Message:
-----------
[mlir][python] fix value-builder generation for snake_case ops (#135302)
Ops that are already snake case (like [`ROCDL_wmma_*`
ops](https://github.com/makslevental/llvm-project/blob/66b0b0466bbd995146aadaf2cd18de5476c19941/mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td#L411))
produce python "value-builders" that collide with the class names:
```python
class wmma_bf16_16x16x16_bf16(_ods_ir.OpView):
OPERATION_NAME = "rocdl.wmma.bf16.16x16x16.bf16"
...
def wmma_bf16_16x16x16_bf16(res, args, *, loc=None, ip=None) -> _ods_ir.Value:
return wmma_bf16_16x16x16_bf16(res=res, args=args, loc=loc, ip=ip).result
```
and thus cannot be emitted (because of recursive self-calls).
This PR fixes that by affixing `_` to the value builder names.
I would've preferred to just rename the ops but that would be a breaking
change :shrug:.
Commit: e100d2bf9ad89139efe5b3edc441c2c67cc42bf4
https://github.com/llvm/llvm-project/commit/e100d2bf9ad89139efe5b3edc441c2c67cc42bf4
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv64zbb.ll
Log Message:
-----------
[DAGCombiner] Fold subtraction if above a constant threshold to `umin` (#135194)
Like #134235, but with a constant.
It's a pattern in Adler-32 checksum calculation in zlib.
Example:
unsigned adler32_mod(unsigned x) {
return x >= 65521u ? x - 65521u : x;
}
Before, on RISC-V:
lui a1, 16
lui a2, 1048560
addiw a1, a1, -16
sltu a1, a1, a0
negw a1, a1
addi a2, a2, 15
and a1, a1, a2
addw a0, a0, a1
Or, with Zicond:
lui a1, 16
lui a2, 1048560
addiw a1, a1, -16
sltu a1, a1, a0
addi a2, a2, 15
czero.eqz a1, a2, a1
addw a0, a0, a1
After, with Zbb:
lui a1, 1048560
addi a1, a1, 15
addw a1, a0, a1
minu a0, a1, a0
Commit: 5b384c3015100ad815f4d994d7ef35cc947db711
https://github.com/llvm/llvm-project/commit/5b384c3015100ad815f4d994d7ef35cc947db711
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/test/API/python_api/target/read-instructions-flavor/TestTargetReadInstructionsFlavor.py
Log Message:
-----------
[lldb][test] Adjust TestTargetReadInstructionsFlavor skipIfs
Original in https://github.com/llvm/llvm-project/pull/134626 was
written as if it was "this or this" but it's "this and this".
So the test ran on AArch64 Linux, because Linux is not Windows.
Split out the Windows check to fix that.
Commit: b658a2e74ab48fce303d009b7039fbb10482bab8
https://github.com/llvm/llvm-project/commit/b658a2e74ab48fce303d009b7039fbb10482bab8
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanSLP.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
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/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll
Log Message:
-----------
[LV] Reduce register usage for scaled reductions (#133090)
This PR accounts for scaled reductions in `calculateRegisterUsage` to
reflect the fact that the number of lanes in their output is smaller
than the VF.
Depends on https://github.com/llvm/llvm-project/pull/126437
Commit: 9e90e10e76eeb796d2d9e8609b98b90d760e1eb0
https://github.com/llvm/llvm-project/commit/9e90e10e76eeb796d2d9e8609b98b90d760e1eb0
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-raytracing.cl
Log Message:
-----------
[AMDGPU][Clang] Add builtins for gfx12 ray tracing intrinsics (#135224)
Commit: 8fc2538f338088bd084d217a7569d72c3b630e8c
https://github.com/llvm/llvm-project/commit/8fc2538f338088bd084d217a7569d72c3b630e8c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__charconv/tables.h
M libcxx/include/__charconv/to_chars_base_10.h
M libcxx/include/__charconv/to_chars_integral.h
M libcxx/include/__charconv/to_chars_result.h
M libcxx/include/__charconv/traits.h
M libcxx/include/__format/formatter_floating_point.h
M libcxx/include/__format/formatter_integral.h
M libcxx/include/__format/formatter_output.h
M libcxx/include/locale
M libcxx/include/module.modulemap
A libcxx/test/benchmarks/locale/num_put.bench.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
Log Message:
-----------
Reapply "[libc++] Optimize num_put integral functions" (#131613) (#133572)
This reverts commit d1156fcb56891fb1a426c3e8331a51d47f98a1b8.
This patch fixes the reported incorrect formatting changes and adds
tests for them. The performance should be unaffected, since there are no
significant changes required to fix the bugs.
Specifically, a `>` was changed to a `>=` to also add a `+` in the zero
case, and we're checking for zero now before printing the octal and
hexadecimal prefixes.
Closes #131710
Commit: 33af951f3f1196d65aafebabd913abc43d3ce074
https://github.com/llvm/llvm-project/commit/33af951f3f1196d65aafebabd913abc43d3ce074
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/SystemZ/vec-elt-insertion.ll
M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-incoming-blocks-in-phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-extracted-and-externally-used.ll
M llvm/test/Transforms/SLPVectorizer/X86/replaced-external-in-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/select-reduction-op.ll
M llvm/test/Transforms/SLPVectorizer/X86/vectorize-cmps.ll
M llvm/test/Transforms/SLPVectorizer/full-overlap-non-schedulable.ll
Log Message:
-----------
[SLP]Synchronize cost of gather/buildvector nodes with codegen
If the buildvector node contains constants and non-constants, need to
consider shuffling of the constant vec and insertion of unique elements
into the vector. Also, if there is an input vector, need to consider the
cost of shuffling source vector and constant vector and then insertion
and shuffling of the non-constant elements.
Reviewers: hiraditya, RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/135245
Commit: 0f615fbb0a964082a6601a2838c9788bd29a97ba
https://github.com/llvm/llvm-project/commit/0f615fbb0a964082a6601a2838c9788bd29a97ba
Author: Valery Pykhtin <valery.pykhtin at amd.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNRewritePartialRegUses.cpp
Log Message:
-----------
[AMDGPU] Simplify GCNRewritePartialRegUses pass. (#135199)
Cleanup some leftover hacks that existed before #67245, more details in #69957.
Commit: 1c05c6183da836d148eb3f558e8f8e0194f39eed
https://github.com/llvm/llvm-project/commit/1c05c6183da836d148eb3f558e8f8e0194f39eed
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lld/COFF/COFFLinkerContext.h
M lld/COFF/Chunks.cpp
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/Writer.cpp
A lld/test/COFF/arm64x-map.s
Log Message:
-----------
[LLD][COFF] Swap the meaning of symtab and hybridSymtab in hybrid images (#135093)
Originally, the intent behind symtab was to represent the symbol table
seen in the PE header (without applying ARM64X relocations). However, in
most cases outside of `writeHeader()`, the code references either both
symbol tables or only the EC one, for example, `mainSymtab` in
`linkerMain()` maps to `hybridSymtab` on ARM64X.
MSVC's link.exe allows pure ARM64EC images to include native ARM64
files. This patch prepares LLD to support the same, which will require
`hybridSymtab` to be available even for ARM64EC. At that point,
`writeHeader()` will need to use the EC symbol table, and the original
reasoning for keeping it in `hybridSymtab` no longer applies.
Given this, it seems cleaner to treat the EC symbol table as the “main”
one, assigning it to `symtab`, and use `hybridSymtab` for the native
symbol table instead. Since `writeHeader()` will need to be conditional
anyway, this change simplifies the rest of the code by allowing other
parts to consistently treat `ctx.symtab` as the main symbol table.
As a further simplification, this also allows us to eliminate `symtabEC`
and use `symtab` directly; I’ll submit that as a separate PR.
The map file now uses the EC symbol table for printed entry points and
exports, matching MSVC behavior.
Commit: cbba9600ae4faeb06619ed8b52c22d8a38708230
https://github.com/llvm/llvm-project/commit/cbba9600ae4faeb06619ed8b52c22d8a38708230
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/AST.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/CXX/class.derived/class.derived.general/p2.cpp
M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
M clang/test/SemaCXX/undefined-partial-specialization.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/type_pack_element.cpp
M clang/unittests/AST/TypePrinterTest.cpp
Log Message:
-----------
Revert "[clang] Improved canonicalization for template specialization types" (#135354)
Reverts llvm/llvm-project#135119 because of the assert in ASTContext.cpp, line 5619.
See #135352 for details.
Commit: 39f119086f115e2af79ebb187a647ea2efad2d5c
https://github.com/llvm/llvm-project/commit/39f119086f115e2af79ebb187a647ea2efad2d5c
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M flang/test/Driver/omp-driver-offload.f90
Log Message:
-----------
[Flang][OpenMP][ROCM] Enable rocm-device-lib-path for flang (#135307)
Currently rocm-device-lib-path is not enabled for Flang, so when the
compiler warns / requests a user to provide this option in cases where
it can't find rocm a user cannot actually set the device libraries using
rocm-device-lib-path. The alternative rocm_path that's also mentioned
via the warning can be used, but we should enable both mentioned options
to not confuse users (and myself).
Commit: a9225251c43e84d2bef0528ac61e1abf9fadae50
https://github.com/llvm/llvm-project/commit/a9225251c43e84d2bef0528ac61e1abf9fadae50
Author: David Green <david.green at arm.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Remove SLI/SRI debug. NFC
We don't usually have special debug for DAG combines, and this one has been
around long enough to not be required any more.
Commit: cd85f5dbdf135347a9912dde148ec9fd325ba8c1
https://github.com/llvm/llvm-project/commit/cd85f5dbdf135347a9912dde148ec9fd325ba8c1
Author: James Newling <james.newling at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir] canonicalizer: shape_cast(poison) -> poison (#133988)
Based on the ShapeCastConstantFolder, this pattern replaces
%0 = ub.poison : vector<2x3xf32>
%1 = vector.shape_cast %0 vector<2x3xf32> to vector<6xf32>
with
%1 = ub.poison : vector<6xf32>
---------
Signed-off-by: James Newling <james.newling at gmail.com>
Commit: f8f01b5eeb61999e6bb9e8c52435f8ff08d410e7
https://github.com/llvm/llvm-project/commit/f8f01b5eeb61999e6bb9e8c52435f8ff08d410e7
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
A lld/test/COFF/arm64ec-x86-sec.yaml
Log Message:
-----------
[LLD][COFF] Support marking sections as x86_64 code in ARM64EC object files (#135280)
On ARM64EC, the `IMAGE_SCN_GPREL` flag is repurposed to indicate that
section code is x86_64. This enables embedding x86_64 code within
ARM64EC object files. MSVC uses this for export thunks in .exp files.
Commit: 409def2867ffe7dffceeff380d7b4057bac5eac6
https://github.com/llvm/llvm-project/commit/409def2867ffe7dffceeff380d7b4057bac5eac6
Author: James Newling <james.newling at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][vector] shape_cast(broadcast) -> broadcast canonicalization (#134939)
Add additional cases of this canonicalization, by checking the 'source
of truth' function `isBroadcastableTo` to check when it is possible to
broadcast directly to the shape resulting from the shape_cast.
---------
Signed-off-by: James Newling <james.newling at gmail.com>
Commit: d6c1ef576f0a44486a8a0f7f33123ad7c9f8c5e9
https://github.com/llvm/llvm-project/commit/d6c1ef576f0a44486a8a0f7f33123ad7c9f8c5e9
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load.cl
M clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
M llvm/lib/TargetParser/TargetParser.cpp
Log Message:
-----------
[AMDGPU] vmem-to-lds-load-insts incoherence between TargetParser and AMDGPU.td (#135376)
The vmem-to-lds-loads-insts feature is only available on gfx9/10. While
target-parser was also enabling it for gfx6,7,8.
Commit: 7113aece4eaa634cdcea5c4057da171c17229b40
https://github.com/llvm/llvm-project/commit/7113aece4eaa634cdcea5c4057da171c17229b40
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/AST/ItaniumMangle.cpp
M clang/test/CodeGenCXX/mangle.cpp
Log Message:
-----------
[clang] ItaniumMangle: fix mangling for unresolved types (#135312)
Commit: 6b78bbc56b835e69ecc5eb8f978c27592e4c4051
https://github.com/llvm/llvm-project/commit/6b78bbc56b835e69ecc5eb8f978c27592e4c4051
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsBranchExpansion.cpp
M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
M llvm/lib/Target/Mips/MipsMulMulBugPass.cpp
M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
Log Message:
-----------
[NFC][LLVM][Mips] Cleanup pass initialization for Mips (#134446)
- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767
Commit: 12fe15ff9d72697848496894401af3eeb7b6c3b8
https://github.com/llvm/llvm-project/commit/12fe15ff9d72697848496894401af3eeb7b6c3b8
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/Hexagon/Hexagon.h
M llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
M llvm/lib/Target/Hexagon/HexagonBranchRelaxation.cpp
M llvm/lib/Target/Hexagon/HexagonCFGOptimizer.cpp
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
M llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp
M llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp
M llvm/lib/Target/Hexagon/HexagonCopyHoisting.cpp
M llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp
M llvm/lib/Target/Hexagon/HexagonEarlyIfConv.cpp
M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp
M llvm/lib/Target/Hexagon/HexagonFixupHwLoops.cpp
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
M llvm/lib/Target/Hexagon/HexagonGenExtract.cpp
M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
M llvm/lib/Target/Hexagon/HexagonGenMemAbsolute.cpp
M llvm/lib/Target/Hexagon/HexagonGenMux.cpp
M llvm/lib/Target/Hexagon/HexagonGenPredicate.cpp
M llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
M llvm/lib/Target/Hexagon/HexagonLoadStoreWidening.cpp
M llvm/lib/Target/Hexagon/HexagonLoopAlign.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/lib/Target/Hexagon/HexagonMask.cpp
M llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp
M llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp
M llvm/lib/Target/Hexagon/HexagonOptimizeSZextends.cpp
M llvm/lib/Target/Hexagon/HexagonPeephole.cpp
M llvm/lib/Target/Hexagon/HexagonRDFOpt.cpp
M llvm/lib/Target/Hexagon/HexagonSplitConst32AndConst64.cpp
M llvm/lib/Target/Hexagon/HexagonSplitDouble.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonTfrCleanup.cpp
M llvm/lib/Target/Hexagon/HexagonVExtract.cpp
M llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp
M llvm/lib/Target/Hexagon/HexagonVectorPrint.cpp
Log Message:
-----------
[NFC][LLVM][Hexagon] Cleanup pass initialization for Hexagon (#134431)
- Remove pass initialization calls from pass constructors.
- Move pass initialization and creation function declarations to
Hexagon.h and remove them from individual .cpp files.
- Add calls for pass initialization in Hexagon target initialization.
- https://github.com/llvm/llvm-project/issues/111767
Commit: 58211f55c5d42394b3de3310a825d707e7622833
https://github.com/llvm/llvm-project/commit/58211f55c5d42394b3de3310a825d707e7622833
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/108541-null-metadata-crash.ll
M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp
Log Message:
-----------
[llvm-reduce] Fix incorrectly ignored null MD in ReduceDIMetadata (#108541)
Commit c2e62c7 updated the ReduceDIMetadata pass to be able to remove
DIGlobalVariableExpressions from MDNode operands; it also accidentally
prevented null operands from being preserved, which results in an
assertion being triggered:
`Targets == NoChunksCounter.count() && "number of chunks changes when
reducing"'
This patch allows us to correctly preserve null operands once again.
I've not got a test case for this yet - I'm hoping this patch is just
trivially correct as-is, because I've not got the hang of reducing a
test case for llvm-reduce yet, but I can get a test case generated if
needed.
Commit: 07b439605a4cc838a9157f6a948edb0369adeada
https://github.com/llvm/llvm-project/commit/07b439605a4cc838a9157f6a948edb0369adeada
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512fp16-frem.ll
M llvm/test/CodeGen/X86/vector-half-conversions.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
Log Message:
-----------
[X86] combineConcatVectorOps - require free concatenation of at least one operand of UNPCKL\H (#135366)
Stop just replacing 2*UNPCK+INSERT_SUBVECTOR with 2*INSERT_SUBVECTOR+UNPCK
Currently limited to sub-64-bit element cases until we've accounted for the remaining regressions from some build_vector style patterns.
Commit: d1ea4799d9a3e2757772a47e9dce5f2e24bb982f
https://github.com/llvm/llvm-project/commit/d1ea4799d9a3e2757772a47e9dce5f2e24bb982f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Lex/PPDirectives.cpp
M clang/test/Preprocessor/embed_parameter_unrecognized.c
Log Message:
-----------
[C23] Fix failed assertions with invalid #embed parameters (#135368)
If the invalid parameter was not the last parameter given, we would fail
to skip to the end of the directive and trip a failed assertion.
Fixes #126940
Commit: c3795ba7373d9a4878974cd664eb6d000bc91880
https://github.com/llvm/llvm-project/commit/c3795ba7373d9a4878974cd664eb6d000bc91880
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[Maintainers] Fix name
Commit: 61f95c6429df523dc3f04e85a5d500008c76e1fa
https://github.com/llvm/llvm-project/commit/61f95c6429df523dc3f04e85a5d500008c76e1fa
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/IR/BasicBlock.cpp
Log Message:
-----------
IR: Simplify BlockAddress replacement (#135360)
Don't repeatedly replaceAllUsesWith in a loop.
Commit: 88e15b781506949c56936b8642774125772fdeb2
https://github.com/llvm/llvm-project/commit/88e15b781506949c56936b8642774125772fdeb2
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxx/test/libcxx/input.output/iostreams.base/ios.base/ios.base.cons/dtor.uninitialized.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/sync.pass.cpp
M libcxx/test/std/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/grouping.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/neg_format.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp
M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
M libcxx/test/std/time/time.duration/time.duration.nonmember/ostream.pass.cpp
M libcxx/test/std/time/time.syn/formatter.duration.pass.cpp
M libcxx/test/std/time/time.syn/formatter.file_time.pass.cpp
M libcxx/test/std/time/time.syn/formatter.hh_mm_ss.pass.cpp
M libcxx/test/std/time/time.syn/formatter.local_time.pass.cpp
M libcxx/test/std/time/time.syn/formatter.sys_time.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] A quick-fix for the Apple CI. (#135202)
The Apple runners automatically pick up newer XCode versions breaking
the CI. This disables the test to get the CI green which allows us to
investigate the issue properly later on.
Commit: 3ad2cd5e70d0fb1d7831a735a4ec8c8b18578d75
https://github.com/llvm/llvm-project/commit/3ad2cd5e70d0fb1d7831a735a4ec8c8b18578d75
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/use-after-poison-history-size-partial-granule.cpp
M compiler-rt/test/asan/TestCases/use-after-poison-history-size.cpp
Log Message:
-----------
[asan] Fix-forward #133175 by restricting newly-added tests to Linux
This was failing on Mac
(https://green.lab.llvm.org/job/llvm.org/job/clang-stage1-RA/4107/ and
https://issues.chromium.org/issues/409995888). Since this is an
experimental feature, rather than play whack-a-mole with selectively
disabling failing platforms (previously done for Android), this patch
restricts it to Linux.
Commit: 76b85d3a27d9de4667cdf6de158111830724f34d
https://github.com/llvm/llvm-project/commit/76b85d3a27d9de4667cdf6de158111830724f34d
Author: Bangtian Liu <liubangtian at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/include/mlir-c/Dialect/Linalg.h
Log Message:
-----------
[MLIR][CAPI] add C API typedef to fix downstream C API usage (#135380)
This PR is after #135253 and #134935 to fix the error reported by
https://github.com/llvm/llvm-project/pull/135253#issuecomment-2796077024.
This PR Adds typedef declarations for `MlirLinalgContractionDimensions`
and `MlirLinalgConvolutionDimensions` in the C API to ensure
compatibility with pure C code.
I confirm that this fix resolves the reported error based on my testing.
Signed-off-by: Bangtian Liu <liubangtian at gmail.com>
Commit: 5a41fc28f3b3f32a70fd5d81c2e33d10b3225806
https://github.com/llvm/llvm-project/commit/5a41fc28f3b3f32a70fd5d81c2e33d10b3225806
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/lib/Serialization/ASTReader.cpp
M clang/test/ClangScanDeps/modules-relocated-mm-macro.c
Log Message:
-----------
[clang][modules] Name the module map files on PCM file conflict (#134475)
With implicitly-built modules, seeing something like:
```
fatal error: module 'X' is defined in both '<cache>/HASH1/X-HASH2.pcm' and '<cache>/HASH1/X-HASH3.pcm'
```
is super confusing and not actionable, because the module cache tends to
be hidden from the developer.
This PR adds a note to that diagnostic that names the module map files
the PCM files were compiled from, hopefully giving a good enough hint
for further investigation:
```
note: compiled from '<build>/X.framework/Modules/module.modulemap' and '<SDK>/X.framework/Modules/module.modulemap'
```
(I had to replace the mechanism used to convert `DiagnosticError` into
something `DiagnosticsEngine` can understand, because it seemingly did
not support notes.)
Commit: 976c37ec950a93ed60068389ad05454f76da1e55
https://github.com/llvm/llvm-project/commit/976c37ec950a93ed60068389ad05454f76da1e55
Author: amansharma612 <amansharma6122002 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/CodeGen/AMDGPU/mul.ll
Log Message:
-----------
[AMDGPU] Set hasSideEffects=0 for SALU psuedos (#134487)
Fixes #128685
---------
Co-authored-by: Aman Sharma <210100011 at iitb.ac.in>
Commit: a4b7688d27da1a0189fff6549853fdfe22b33c48
https://github.com/llvm/llvm-project/commit/a4b7688d27da1a0189fff6549853fdfe22b33c48
Author: David Green <david.green at arm.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/fsh.ll
Log Message:
-----------
[AArch64] Regenerate fsh.ll test. NFC
Commit: ffac1404f8e0f606cac12a21777dfe700b455e87
https://github.com/llvm/llvm-project/commit/ffac1404f8e0f606cac12a21777dfe700b455e87
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[Clang] [Sema] Document invariant in Sema::AddOverloadCandidate (#135256)
Static analysis flagged 1 - ArgIdx in Sema::AddOverloadCandidate for its
potential to overflow.
Turns out this is intentional since when PO ==
OverloadCandidateParamOrder::Reversed Args.size() is always two, so this
will never overflow.
We document using an assert.
Fixes: https://github.com/llvm/llvm-project/issues/135086
Commit: 438f984b4b3c6774f07eced877dce7cdbeef6a3b
https://github.com/llvm/llvm-project/commit/438f984b4b3c6774f07eced877dce7cdbeef6a3b
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/test/tools/dxil-dis/debug-info.ll
Log Message:
-----------
[DirectX] XFAIL test failing because of debuginfo changes (#135279)
For more context see
https://discourse.llvm.org/t/psa-ir-output-changing-from-debug-intrinsics-to-debug-records/79578
This change:
https://github.com/llvm/llvm-project/commit/6a45fce90937f1c8671e609c4218818ce4491329
broke this test:
https://github.com/llvm/llvm-project/blob/main/llvm/test/tools/dxil-dis/debug-info.ll
in our pipeline:
https://github.com/llvm/llvm-project/actions/workflows/hlsl-matrix.yaml
LLVM is transitioning off of the llvm.dbg.value debug intrinsic in favor
of the `#dbg_declare(..) format. see
https://github.com/llvm/llvm-project/pull/133917/files
dxil-dis does not understand the new format and so work needs to be
planned out to support this transition in
https://github.com/microsoft/DirectXShaderCompiler
For now the fix is to XFAIL this test to unblock the pipeline.
Commit: 70627af91f577f5195a11ee44c6af39503e1ce52
https://github.com/llvm/llvm-project/commit/70627af91f577f5195a11ee44c6af39503e1ce52
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/source/Core/Debugger.cpp
Log Message:
-----------
[lldb] Synchronize access to m_statusline in the Debugger (#134759)
Eliminate the potential for a race between the main thread, the default
event handler thread and the signal handling thread, when accessing the
m_statusline member.
Commit: 8d2f0911ce8dddb37d064b3065b3be71e3233c2c
https://github.com/llvm/llvm-project/commit/8d2f0911ce8dddb37d064b3065b3be71e3233c2c
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/Frontend/CompilerInstance.cpp
Log Message:
-----------
[clang] Extract `CompilerInstance` creation out of `compileModuleImpl()` (#134887)
This PR extracts the creation of `CompilerInstance` for compiling an
implicitly-discovered module out of `compileModuleImpl()` into its own
separate function and passes it into `compileModuleImpl()` from the
outside. This makes the instance creation logic reusable (useful for my
experiments) and also simplifies the API, removing the `PreBuildStep`
and `PostBuildStep` hooks from `compileModuleImpl()`.
Commit: 61f80db9a493e3f33dc01ecd5294856d33ca74d4
https://github.com/llvm/llvm-project/commit/61f80db9a493e3f33dc01ecd5294856d33ca74d4
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lld/COFF/COFFLinkerContext.h
M lld/COFF/DLL.cpp
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/Writer.cpp
Log Message:
-----------
[LLD][COFF] Remove no longer needed symtabEC from COFFLinkerContext (NFC) (#135094)
With #135093, we may just use `symtab` instead.
Commit: 68b7cba2b04a036dfb2e216cfafe70a83fbc7530
https://github.com/llvm/llvm-project/commit/68b7cba2b04a036dfb2e216cfafe70a83fbc7530
Author: Henry Jiang <h243jian at uwaterloo.ca>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
A llvm/test/Transforms/LoopIdiom/strlen-cleanup.ll
M llvm/test/Transforms/LoopIdiom/strlen.ll
M llvm/test/Transforms/LoopIdiom/wcslen16.ll
M llvm/test/Transforms/LoopIdiom/wcslen32.ll
Log Message:
-----------
[LoopIdiom] Update strlen idiom body loop condition to be clean up by LoopDeletion (#134906)
Fixes the case where subsequent passes were unable to find and delete
the invariant loop left over by the strlen idiom conversion. Since
`loop-deletion` only operate on computable loops, we can update the loop
condition to something more easily picked up by `loop-deletion`
As pointed out in https://github.com/llvm/llvm-project/issues/134736
Commit: d995b2ebdc1a312c8583351c13dac90e8e320a09
https://github.com/llvm/llvm-project/commit/d995b2ebdc1a312c8583351c13dac90e8e320a09
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaAMDGPU.cpp
A clang/test/SemaHIP/amdgpu-builtin-in-lambda-with-unsupported-attribute.hip
A clang/test/SemaHIP/amdgpu-builtin-in-lambda.hip
Log Message:
-----------
[Clang][AMDGPU] Accept builtins in lambda declarations (#135027)
`Sema::getCurFunctionDecl(AllowLambda = false)` returns a nullptr when
the lambda declaration is outside a function (for example, when
assigning a lambda to a static constexpr variable).
This triggered an assertion in
`SemaAMDGPU::CheckAMDGCNBuiltinFunctionCall`.
Using `Sema::getCurFunctionDecl(AllowLambda = true)` returns the
declaration of the enclosing lambda.
Stumbled with this issue when refactoring some code in CK.
Commit: 8fb6bb3e23966c973bb04784e165473f681ec7af
https://github.com/llvm/llvm-project/commit/8fb6bb3e23966c973bb04784e165473f681ec7af
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M flang/test/Lower/OpenACC/acc-init.f90
M flang/test/Lower/OpenACC/acc-shutdown.f90
M flang/test/Semantics/OpenACC/acc-init-validity.f90
M flang/test/Semantics/OpenACC/acc-shutdown-validity.f90
M llvm/include/llvm/Frontend/OpenACC/ACC.td
Log Message:
-----------
[flang][openacc] Allow multiple device_type clauses on init and shutdown (#135314)
Relax the restriction for init and shutdown directives for device_type
clause. The clause can be allowed multiple times.
Commit: 566c30e324a0e87269fc72e5a0219d4c3e1d9fbf
https://github.com/llvm/llvm-project/commit/566c30e324a0e87269fc72e5a0219d4c3e1d9fbf
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/test/CIR/CodeGen/binassign.c
A clang/test/CIR/CodeGen/comma.c
A clang/test/CIR/IR/binassign.cir
Log Message:
-----------
[CIR] Upstream binary assignments and comma (#135115)
This patch adds `VisitBinAssign` and `VisitBinComma` to the ClangIR
`ScalarExprEmitter` to enable assignments and the comma operator.
---------
Co-authored-by: Morris Hafner <mhafner at nvidia.com>
Commit: bd0b2bdacc95332a62d5eeb9582302cc12567be3
https://github.com/llvm/llvm-project/commit/bd0b2bdacc95332a62d5eeb9582302cc12567be3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Use VF instead of VL.size and modernize some transformations, NFC.
Commit: 68ab45f0533f3bbfc1c96bddd53de7e769180219
https://github.com/llvm/llvm-project/commit/68ab45f0533f3bbfc1c96bddd53de7e769180219
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
M lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp
Log Message:
-----------
Revert "[lldb] ProcessGdbRemote header gardning"
This reverts commit 2fd860c1f559c0b0be66cc000e38270a04d0a1a3 as this is
causing a EXC_BAD_ACCESS on Darwin:
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/as-lldb-cmake/23807/
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/lldb-cmake/11255/
Commit: de5b099dd1542deee821b1dcfcb1762e683c672c
https://github.com/llvm/llvm-project/commit/de5b099dd1542deee821b1dcfcb1762e683c672c
Author: Jan Korous <jkorous at apple.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
A clang/include/clang/Analysis/Support/FixitUtil.h
M clang/lib/Analysis/CMakeLists.txt
A clang/lib/Analysis/FixitUtil.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage][NFC] Factor out FixitUtil (#135100)
Commit: cb974dcd7798317f065fe0668e16d0e1712e5ca0
https://github.com/llvm/llvm-project/commit/cb974dcd7798317f065fe0668e16d0e1712e5ca0
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Analysis/BUILD.gn
Log Message:
-----------
[gn build] Port de5b099dd154
Commit: abe3b90b3fa49829a165f2174191c33542597052
https://github.com/llvm/llvm-project/commit/abe3b90b3fa49829a165f2174191c33542597052
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
Log Message:
-----------
[CIR] Fix warnings, again! (#135284)
The calleeDecl var will be used in the near future, so I left it. At
least for clang, the [[maybe_unused]] attribute takes care of the
warnings related to that variable. The other warning was a simple lack
of return after errorNYI.
Commit: a2d129b792cc49224f98c83d2279b2e19bfa700f
https://github.com/llvm/llvm-project/commit/a2d129b792cc49224f98c83d2279b2e19bfa700f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/SystemZ/revec-fix-128169.ll
Log Message:
-----------
[SLP]Fix a crash when trying to reduce in revec after minbitwidth analysis
Need to use the original scalar type, when building the reduction, and
use the scalar type, when performing casting, to avoid compiler crash.
Commit: e911f90a4035ee6a70d9b608ef35c6870aa86fdb
https://github.com/llvm/llvm-project/commit/e911f90a4035ee6a70d9b608ef35c6870aa86fdb
Author: Kevin Gleason <gleasonk at google.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/utils/generate-test-checks.py
Log Message:
-----------
[mlir] Add support for broader range of input files in generate-test-checks.py (#134327)
A few additions:
- Lines with `{{`: These can show up if serializing non-MLIR info into
string attrs `my.attr = {{proto}, {...}}`. String escape the opening
`{{`, given that check lines are generated this has no effect on
`{{.*}}` etc in generated lines.
- File split line: Normally these are skipped because of their indent
level, but if using `--starts_from_scope=0` to generate checks for the
`module {...} {` line, and since MLIR opt tools emit file split lines by
default, some `CHECK: // -----` lines were emit.
- (edit removed this, fixed by
https://github.com/llvm/llvm-project/pull/134364) AttrAliases: I'm not
sure if I'm missing something for the attribute parser to work
correctly, but I was getting many `#[[?]]` for all dialect attrs. Only
use the attr aliasing if there's a match.
Commit: e15025dd50ce2f3db6c8f3f414f95a7b58ef8501
https://github.com/llvm/llvm-project/commit/e15025dd50ce2f3db6c8f3f414f95a7b58ef8501
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxxabi/test/uncaught_exception.pass.cpp
Log Message:
-----------
[libc++] Another Apple CI quick-fix.
Like #135202 this fixes another issue after the XCode update.
Commit: c9ad5bed7fa9ff0b16da1212875ba5341d288f3c
https://github.com/llvm/llvm-project/commit/c9ad5bed7fa9ff0b16da1212875ba5341d288f3c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/trunced-buildvector-scalar-extended.ll
Log Message:
-----------
[SLP][NFC]Add a test with the incorrect type promotion after bitwidth analysis, NFC
Commit: 1e54bca669d0f16fbd0809d5ada68af8ba5cf28b
https://github.com/llvm/llvm-project/commit/1e54bca669d0f16fbd0809d5ada68af8ba5cf28b
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libc/Maintainers.rst
Log Message:
-----------
[libc] Add dthorn as maintainer for allocator on baremetal (#135203)
This was on request from other maintainers, given that I've been
de-facto acting as maintainer of the baremetal allocator stuff.
Commit: df579ce4b6006ed23bb3a31f009269a1ba2587d4
https://github.com/llvm/llvm-project/commit/df579ce4b6006ed23bb3a31f009269a1ba2587d4
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
A libcxx/test/libcxx/feature_test_macro/is_implemented.sh.py
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Adds is_implemented function for new ftm generator. (#134538)
At the moment the ftm macro for __cpp_lib_to_chars will have the
following values:
standard_ftms: {
"c++17": "201611L",
"c++20": "201611L",
"c++23": "201611L",
"c++26": "201611L",
}
implemented_ftms: {
"c++17": None,
}
This is an issue with the test whether the FTM is implemented it does:
self.implemented_ftms[ftm][std] == self.standard_ftms[ftm][std]
This will fail in C++20 since implemented_ftms[ftm] does not have the
key c++20. This adds a new helper function and removes the None entries
when a FTM is not implemented.
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 6f5e993b179a6f93b40d375a8864f2a482f3ca5d
https://github.com/llvm/llvm-project/commit/6f5e993b179a6f93b40d375a8864f2a482f3ca5d
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
A llvm/test/CodeGen/DirectX/usub_sat.ll
Log Message:
-----------
[DirectX] legalize usub.sat (#135288)
fixes #135285
This change implements the `usub.sat` intrinsic to perform an unsigned
saturating subtraction on the 2 arguments.
The minimum value this operation is clamp to is 0.
Commit: 52ef55864f50077072e083c5582d23a9ec494142
https://github.com/llvm/llvm-project/commit/52ef55864f50077072e083c5582d23a9ec494142
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
Log Message:
-----------
[OpenACC] Fix source-location on a handful of CIR Directives
Apparently we used the 'end location' instead of 'start' in a few
places.
Commit: db4ad4686f09822add4575801a2bbb10c8d56ebb
https://github.com/llvm/llvm-project/commit/db4ad4686f09822add4575801a2bbb10c8d56ebb
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libc/Maintainers.rst
Log Message:
-----------
[libc] Add myself as maintainer for Public Headers / hdrgen (#135209)
Commit: 38e64b1a84d1af0bb232833f8f6f57bd4d6e8a7a
https://github.com/llvm/llvm-project/commit/38e64b1a84d1af0bb232833f8f6f57bd4d6e8a7a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/trunced-buildvector-scalar-extended.ll
Log Message:
-----------
[SLP]Fix minbiwidth analysis for gather nodes with SIToFP users
If the buildvector node has cast to float user, it cannot be considered as safe
for truncation, need to use the original bitwidth here.
Fixes #135410
Commit: c2939b9bf672713ac36910a3e6d00c19ace1bd44
https://github.com/llvm/llvm-project/commit/c2939b9bf672713ac36910a3e6d00c19ace1bd44
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/test/API/macosx/thread_start_bps/TestBreakpointsThreadInit.py
Log Message:
-----------
Reland "[lldb] Clear thread-creation breakpoints in ProcessGDBRemote::Clear (#134397)" (#135296)
This reapplies commit
https://github.com/llvm/llvm-project/commit/232525f06942adb3b9977632e38dcd5f08c0642d.
The original commit triggered a sanitizer failure when `Target` was
destroyed. In `Target::Destroy`, `DeleteCurrentProcess` was called, but
it did not destroy the thread creation breakpoints for the underlying
`ProcessGDBRemote` because `ProcessGDBRemote::Clear` was not called in
that path.
`Target `then proceeded to destroy its breakpoints, which resulted in a
call to the destructor of a `std::vector` containing the breakpoints.
Through a sequence of complicated events, destroying breakpoints caused
the reference count of the underlying `ProcessGDBRemote` to finally
reach zero. This, in turn, called `ProcessGDBRemote::Clear`, which
attempted to destroy the breakpoints. To do that, it would go back into
the Target's vector of breakpoints, which we are in the middle of
destroying.
We solve this by moving the breakpoint deletion into
`Process:DoDestroy`, which is a virtual Process method that will be
called much earlier.
Commit: 179d30f8c3fddd3c85056fd2b8e877a4a8513158
https://github.com/llvm/llvm-project/commit/179d30f8c3fddd3c85056fd2b8e877a4a8513158
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/source/Core/Statusline.cpp
Log Message:
-----------
Revert "[lldb] Make sure the process is stopped when computing the symbol context (#134757)" (#135408)
This reverts commit e84a80408523a48d6eaacd795f1615e821ffb233 because on
Linux there seems to be a race around GetRunLock. See #134757 for more
context.
Commit: fedd79bdcd8363456ec87796694ae0f37d28a98f
https://github.com/llvm/llvm-project/commit/fedd79bdcd8363456ec87796694ae0f37d28a98f
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Conversion/VectorToArmSME/vector-to-arm-sme.mlir
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/vector-transfer-to-vector-load-store.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/transpose.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir
Log Message:
-----------
[mlir][vector] Tighten the semantics of vector.{load|store} (#135151)
This change refines the verifier for `vector.load` and `vector.store` to
disallow the use of vectors with higher rank than the source or
destination memref. For example, the following is now rejected:
```mlir
%0 = vector.load %src[%c0] : memref<?xi8>, vector<16x16xi8>
vector.store %vec, %dest[%c0] : memref<?xi8>, vector<16x16xi8>
```
This pattern was previously used in SME end-to-end tests and "happened"
to work by implicitly assuming row-major memory layout. However, there
is no guarantee that such an assumption will always hold, and we should
avoid relying on it unless it can be enforced deterministically.
Notably, production ArmSME lowering pipelines do not rely on this
behavior. Instead, the expected usage (illustrated here with scalable
vector syntax) would be:
```mlir
%0 = vector.load %src[%c0, %c0] : memref<?x?xi8>, vector<[16]x[16]xi8>
```
This PR updates the verifier accordingly and adjusts all affected tests.
These tests are either removed (if no longer relevant) or updated to use
memrefs with appropriately matching rank.
Commit: 052225dc0366ddf56631b1e4104ef09896f1139b
https://github.com/llvm/llvm-project/commit/052225dc0366ddf56631b1e4104ef09896f1139b
Author: David Green <david.green at arm.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/bswap.ll
M llvm/test/Analysis/CostModel/AArch64/ctlz.ll
M llvm/test/Analysis/CostModel/AArch64/cttz.ll
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
Log Message:
-----------
[AArch64] Use a lower Costsize cost in getScalarizationOverhead.
This is a follow on to #130946 to use the same codesize cost override in
getScalarizationOverhead for vector instructions.
Commit: 32c39092eab3a401d9d028c21f4707102fd70e32
https://github.com/llvm/llvm-project/commit/32c39092eab3a401d9d028c21f4707102fd70e32
Author: Ikhlas Ajbar <iajbar at quicinc.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonCallingConv.td
A llvm/test/CodeGen/Hexagon/calloperand-v2i1.ll
Log Message:
-----------
[llvm][Hexagon] Promote operand v2i1 to v2i32 (#135409)
Fixes #118879
Commit: a45b133d400b0e57ca1ba70d50a91fbdf11d3b93
https://github.com/llvm/llvm-project/commit/a45b133d400b0e57ca1ba70d50a91fbdf11d3b93
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/CallingConv.h
M llvm/lib/IR/Verifier.cpp
M llvm/test/Bitcode/calling-conventions.3.2.ll
M llvm/test/Bitcode/calling-conventions.3.2.ll.bc
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
R llvm/test/CodeGen/AMDGPU/call-to-kernel-undefined.ll
R llvm/test/CodeGen/AMDGPU/call-to-kernel.ll
M llvm/test/Other/spir_cc.ll
M llvm/test/Verifier/amdgpu-cc.ll
A llvm/test/Verifier/call-to-non-callable-functions.ll
Log Message:
-----------
[AMDGPU][Verifier] Mark calls to entry functions as invalid in the IR verifier (#134910)
Commit: 72144d119a7291f8b6b8e022a2947fbe31e66afc
https://github.com/llvm/llvm-project/commit/72144d119a7291f8b6b8e022a2947fbe31e66afc
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/edit-input.cpp
Log Message:
-----------
[flang][runtime] Fix recently broken big-endian formatted integer input (#135417)
My recent change to speed up formatted integer input has a bug on
big-endian targets that has shown up on ppc64 AIX build bots. Fix.
Commit: ae0aa2dea2dee3af01326e5ff96ab436628f7e2b
https://github.com/llvm/llvm-project/commit/ae0aa2dea2dee3af01326e5ff96ab436628f7e2b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
Log Message:
-----------
[VPlan] Merge cases using getResultType in inferScalarType (NFC).
Commit: d78b48641429c8b48e2c376fa3870d841e319c96
https://github.com/llvm/llvm-project/commit/d78b48641429c8b48e2c376fa3870d841e319c96
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/error_if_check.mlir
Log Message:
-----------
[mlir][tosa] Add error_if checks for Mul Op (#135075)
This adds error_if validation checking for Mul Op
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: 90a202f2ff241a9f4b11ec625dcc3446cbceb924
https://github.com/llvm/llvm-project/commit/90a202f2ff241a9f4b11ec625dcc3446cbceb924
Author: Victor Vianna <victor.vianna10 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M compiler-rt/lib/orc/error.h
M llvm/include/llvm/ADT/TrieRawHashMap.h
Log Message:
-----------
[cpp23] Remove usage of std::aligned_union<> in llvm (#135146)
std::aligned_union<> is deprecated in C++23. See more details in the
linked bug.
Bug: https://crbug.com/388068052
Commit: d1fd97737e9064431983e48c2105d1c54d5feacc
https://github.com/llvm/llvm-project/commit/d1fd97737e9064431983e48c2105d1c54d5feacc
Author: Brad Smith <brad at comstyle.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/asan/asan_linux.cpp
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/asan/asan_posix.cpp
M compiler-rt/lib/asan/tests/CMakeLists.txt
M compiler-rt/lib/asan/tests/asan_test.cpp
M compiler-rt/lib/interception/interception.h
M compiler-rt/lib/interception/interception_linux.cpp
M compiler-rt/lib/interception/interception_linux.h
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
M compiler-rt/lib/sanitizer_common/sanitizer_errno.h
M compiler-rt/lib/sanitizer_common/sanitizer_errno_codes.h
A compiler-rt/lib/sanitizer_common/sanitizer_haiku.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps.h
A compiler-rt/lib/sanitizer_common/sanitizer_procmaps_haiku.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
M compiler-rt/lib/ubsan/ubsan_platform.h
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
[compiler-rt][sanitizer] add Haiku support (#134772)
Co-authored-by: Jérôme Duval <jerome.duval at gmail.com>
Commit: ee801cdd6e0ba497939cdc1e4dd34b98b4df3675
https://github.com/llvm/llvm-project/commit/ee801cdd6e0ba497939cdc1e4dd34b98b4df3675
Author: Jan Korous <jkorous at apple.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
M clang/lib/Analysis/UnsafeBufferUsage.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Add findUnsafePointers (#135421)
Commit: a8da4834f70b4cea0ba8e703a76ccbcd26f88923
https://github.com/llvm/llvm-project/commit/a8da4834f70b4cea0ba8e703a76ccbcd26f88923
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
Log Message:
-----------
[flang] IEEE_SCALB and SCALE - kind=2, kind=3 (#135374)
Implement the kind=2,3 variants of language intrinsic SCALE and
intrinsic module procedure IEEE_SCALB, including exception signaling.
Commit: 609361ab39226a866211286a2ae4f19ab8bb444c
https://github.com/llvm/llvm-project/commit/609361ab39226a866211286a2ae4f19ab8bb444c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M flang/test/Lower/OpenACC/acc-exit-data.f90
M flang/test/Semantics/OpenACC/acc-data.f90
M llvm/include/llvm/Frontend/OpenACC/ACC.td
Log Message:
-----------
[flang][openacc] Allow finalize clause on exit data more than once (#135415)
The spec has not strict restriction to allow a single `finalize` clause
on the `exit data` directive. Allowing this clause multiple times does
not change the semantic of it. This patch relax the rules in `ACC.td`
since there is no restriction in the standard.
The OpenACC dialect represent the finalize clause with a UnitAttr so the
attribute will be set if the is one or more `finalize` clause.
Commit: 2837fd7e5ad521d977fbca85a639ce7afbacdc56
https://github.com/llvm/llvm-project/commit/2837fd7e5ad521d977fbca85a639ce7afbacdc56
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M flang/test/Lower/OpenACC/acc-host-data.f90
M flang/test/Lower/OpenACC/acc-update.f90
M flang/test/Semantics/OpenACC/acc-host-data.f90
M flang/test/Semantics/OpenACC/acc-update-validity.f90
M llvm/include/llvm/Frontend/OpenACC/ACC.td
Log Message:
-----------
[flang][openacc] Allow if_present multiple times on host_data and update (#135422)
Similar to #135415.
The spec has not strict restriction to allow a single `if_present`
clause on the host_data and update directives. Allowing this clause
multiple times does not change the semantic of it. This patch relax the
rules in ACC.td since there is no restriction in the standard.
The OpenACC dialect represents the `if_present` clause with a `UnitAttr`
so the attribute will be set if the is one or more `if_present` clause.
Commit: 4530922cfdacc5be25dbe499fc106cc3b009bf79
https://github.com/llvm/llvm-project/commit/4530922cfdacc5be25dbe499fc106cc3b009bf79
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
Log Message:
-----------
[clang] fix serialization for SubstNonTypeTemplateParmPackExpr (#135428)
This fixes a PCM non-determinism regression reported here:
https://github.com/llvm/llvm-project/pull/134560#issuecomment-2797744370
There was a bit in `SubstNonTypeTemplateParmPackExpr` which we missed to
serialize, and that bit eventually propagates to
`SubstNonTypeTemplateParmExpr`.
As a drive by, improve serialization for PackIndex on
SubstNonTypeTemplateParmExpr by using the newly introduced
UnsignedOrNone helpers.
There are no release notes since this regression was never released.
Commit: de67293c093efddb9f9444b3a614695ad243355d
https://github.com/llvm/llvm-project/commit/de67293c093efddb9f9444b3a614695ad243355d
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/CMakeLists.txt
A mlir/include/mlir/Dialect/SMT/CMakeLists.txt
A mlir/include/mlir/Dialect/SMT/IR/CMakeLists.txt
A mlir/include/mlir/Dialect/SMT/IR/SMT.td
A mlir/include/mlir/Dialect/SMT/IR/SMTArrayOps.td
A mlir/include/mlir/Dialect/SMT/IR/SMTAttributes.h
A mlir/include/mlir/Dialect/SMT/IR/SMTAttributes.td
A mlir/include/mlir/Dialect/SMT/IR/SMTBitVectorOps.td
A mlir/include/mlir/Dialect/SMT/IR/SMTDialect.h
A mlir/include/mlir/Dialect/SMT/IR/SMTDialect.td
A mlir/include/mlir/Dialect/SMT/IR/SMTIntOps.td
A mlir/include/mlir/Dialect/SMT/IR/SMTOps.h
A mlir/include/mlir/Dialect/SMT/IR/SMTOps.td
A mlir/include/mlir/Dialect/SMT/IR/SMTTypes.h
A mlir/include/mlir/Dialect/SMT/IR/SMTTypes.td
A mlir/include/mlir/Dialect/SMT/IR/SMTVisitors.h
M mlir/include/mlir/InitAllDialects.h
M mlir/lib/Dialect/CMakeLists.txt
A mlir/lib/Dialect/SMT/CMakeLists.txt
A mlir/lib/Dialect/SMT/IR/CMakeLists.txt
A mlir/lib/Dialect/SMT/IR/SMTAttributes.cpp
A mlir/lib/Dialect/SMT/IR/SMTDialect.cpp
A mlir/lib/Dialect/SMT/IR/SMTOps.cpp
A mlir/lib/Dialect/SMT/IR/SMTTypes.cpp
A mlir/test/Dialect/SMT/array-errors.mlir
A mlir/test/Dialect/SMT/array.mlir
A mlir/test/Dialect/SMT/basic.mlir
A mlir/test/Dialect/SMT/bitvector-errors.mlir
A mlir/test/Dialect/SMT/bitvectors.mlir
A mlir/test/Dialect/SMT/core-errors.mlir
A mlir/test/Dialect/SMT/cse-test.mlir
A mlir/test/Dialect/SMT/integers.mlir
M mlir/unittests/Dialect/CMakeLists.txt
A mlir/unittests/Dialect/SMT/AttributeTest.cpp
A mlir/unittests/Dialect/SMT/CMakeLists.txt
A mlir/unittests/Dialect/SMT/QuantifierTest.cpp
A mlir/unittests/Dialect/SMT/TypeTest.cpp
Log Message:
-----------
[mlir][SMT] upstream `SMT` dialect (#131480)
This PR upstreams the `SMT` dialect from the CIRCT project. Here we only
check in the dialect/op/types/attributes and lit tests. Follow up PRs
will add conversions in and out and etc.
Co-authored-by: Bea Healy <beahealy22 at gmail.com>
Co-authored-by: Martin Erhart <maerhart at outlook.com>
Co-authored-by: Mike Urbach <mikeurbach at gmail.com>
Co-authored-by: Will Dietz <will.dietz at sifive.com>
Co-authored-by: fzi-hielscher <hielscher at fzi.de>
Co-authored-by: Fehr Mathieu <mathieu.fehr at gmail.com>
Commit: 93370c4ab3437432e488fac9e3a09b44dbe87449
https://github.com/llvm/llvm-project/commit/93370c4ab3437432e488fac9e3a09b44dbe87449
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/test/CIR/CodeGen/array.cpp
Log Message:
-----------
[CIR] Make LLVM & OGCG variables match the same pattern (#135427)
Follow-up patch to improve variable names in LLVM and OGCG in
https://github.com/llvm/llvm-project/pull/134536
Commit: 84ed81bc8a5359f33818c876e43f6450e98deb35
https://github.com/llvm/llvm-project/commit/84ed81bc8a5359f33818c876e43f6450e98deb35
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/unittests/Thread/ThreadTest.cpp
Log Message:
-----------
[lldb] On Windows, silence warning when building with Clang ToT
Fixes:
```
[930/2017] Building CXX object tools\lldb\unittests\Thread\CMakeFiles\ThreadTests.dir\ThreadTest.cpp.obj
C:\git\llvm-project\lldb\unittests\Thread\ThreadTest.cpp(51,23): warning: cast from 'FARPROC' (aka 'long long (*)()') to 'SetThreadDescriptionFunctionPtr' (aka 'long (*)(void *, const wchar_t *)') converts to incompatible function type [-Wcast-function-type-mismatch]
51 | SetThreadName = reinterpret_cast<SetThreadDescriptionFunctionPtr>(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
52 | ::GetProcAddress(hModule, "SetThreadDescription"));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
```
Commit: 12c4be1ba8513b4c0f43945c0f266d7f871a978a
https://github.com/llvm/llvm-project/commit/12c4be1ba8513b4c0f43945c0f266d7f871a978a
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/unittests/AST/ByteCode/BitcastBuffer.cpp
Log Message:
-----------
[clang][unittests] On Windows, silence warning when building with MSVC
Fixes:
```
[113/324] Building CXX object tools\clang\unittests\AST\ByteCode\CMakeFiles\InterpTests.dir\BitcastBuffer.cpp.obj
C:\git\llvm-project\clang\unittests\AST\ByteCode\BitcastBuffer.cpp(52): warning C4309: 'initializing': truncation of constant value
C:\git\llvm-project\clang\unittests\AST\ByteCode\BitcastBuffer.cpp(53): warning C4309: 'initializing': truncation of constant value
```
Commit: 78fbba992188c60f0f06267ca013e52db19b8c67
https://github.com/llvm/llvm-project/commit/78fbba992188c60f0f06267ca013e52db19b8c67
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
Log Message:
-----------
[compiler-rt] On Windows, silence warning when building with Clang ToT
Fixes:
```
[6113/7139] Building CXX object projects\compiler-rt\lib\interception\CMakeFiles\RTInterception.x86_64.dir\interception_win.cpp.obj
C:\git\llvm-project\compiler-rt\lib\interception\interception_win.cpp(746,5): warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
746 | case 0xB841: // 41 B8 XX XX XX XX : mov r8d, XX XX XX XX
| ^
C:\git\llvm-project\compiler-rt\lib\interception\interception_win.cpp(746,5): note: insert 'FALLTHROUGH;' to silence this warning
746 | case 0xB841: // 41 B8 XX XX XX XX : mov r8d, XX XX XX XX
| ^
| FALLTHROUGH;
C:\git\llvm-project\compiler-rt\lib\interception\interception_win.cpp(746,5): note: insert 'break;' to avoid fall-through
746 | case 0xB841: // 41 B8 XX XX XX XX : mov r8d, XX XX XX XX
| ^
| break;
1 warning generated.
```
Commit: e1d91ba06d250dd8bbd5bded4824c5b210c2667a
https://github.com/llvm/llvm-project/commit/e1d91ba06d250dd8bbd5bded4824c5b210c2667a
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.cpp
Log Message:
-----------
[lldb] Fix erroneous return value
Found when building with MSVC on Windows, was seeing:
```
[2703/7138] Building CXX object tools\lldb\source\Plugins\Process\Utility\CMakeFiles\lldbPluginProcessUtility.dir\NativeRegisterContextDBReg.cpp.obj
C:\git\llvm-project\lldb\source\Plugins\Process\Utility\NativeRegisterContextDBReg.cpp(286): warning C4305: 'return': truncation from 'unsigned int' to 'bool'
```
Commit: 715c61e9a7cc631fd0965b887941ccfd8c0133d6
https://github.com/llvm/llvm-project/commit/715c61e9a7cc631fd0965b887941ccfd8c0133d6
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
Log Message:
-----------
[lldb][lldbp-dap] On Windoows, silence warnings when building with MSVC
Fixes:
```
[6373/7138] Building CXX object tools\lldb\tools\lldb-dap\CMakeFiles\lldb-dap.dir\DAP.cpp.obj
C:\git\llvm-project\lldb\tools\lldb-dap\DAP.cpp(725) : warning C4715: '`lldb_dap::DAP::HandleObject'::`30'::<lambda_2>::operator()': not all control paths return a value
[6421/7138] Building CXX object tools\lldb\tools\lldb-dap\CMakeFiles\lldb-dap.dir\Protocol\ProtocolTypes.cpp.obj
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(203) : warning C4715: 'lldb_dap::protocol::ToString': not all control paths return a value
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(98) : warning C4715: 'lldb_dap::protocol::toJSON': not all control paths return a value
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(72) : warning C4715: 'lldb_dap::protocol::toJSON': not all control paths return a value
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(111) : warning C4715: 'lldb_dap::protocol::toJSON': not all control paths return a value
[6426/7138] Building CXX object tools\lldb\tools\lldb-dap\CMakeFiles\lldb-dap.dir\Protocol\ProtocolBase.cpp.obj
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolBase.cpp(287) : warning C4715: 'lldb_dap::protocol::fromJSON': not all control paths return a value
```
Commit: 46135ade9ec0b7fd975b5d3923aea95f4d416296
https://github.com/llvm/llvm-project/commit/46135ade9ec0b7fd975b5d3923aea95f4d416296
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaConcept.cpp
Log Message:
-----------
[Sema] On Windows, silence erroneous warning when building with MSVC
Fixes what seems to be a buggy warning in MSVC:
```
[1/37] Building CXX object tools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\SemaConcept.cpp.obj
C:\git\llvm-project\clang\lib\Sema\SemaConcept.cpp(1933): warning C4101: '$S26': unreferenced local variable
```
Commit: 6e7fe85247301c52d10d234b87f13376e091c77e
https://github.com/llvm/llvm-project/commit/6e7fe85247301c52d10d234b87f13376e091c77e
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp
M llvm/lib/Target/AMDGPU/GCNIterativeScheduler.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/test/CodeGen/AMDGPU/iglp.opt.reentry.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.iterative.ll
M llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit2.ll
Log Message:
-----------
[AMDGPU] Teach iterative schedulers about IGLP (#134953)
This adds IGLP mutation to the iterative schedulers
(`gcn-iterative-max-occupancy-experimental`, `gcn-iterative-minreg`, and
`gcn-iterative-ilp`).
The `gcn-iterative-minreg` and `gcn-iterative-ilp` schedulers never
actually applied the mutations added, so this also has the effect of
teaching them about mutations in general. The
`gcn-iterative-max-occupancy-experimental` scheduler has calls to
`ScheduleDAGMILive::schedule()`, so, before this, mutations were applied
at this point. Now this is done during calls to `BuildDAG`, with IGLP
superseding other mutations (similar to the other schedulers). We may
end up scheduling regions multiple times, with mutations being applied
each time, so we need to track for
`AMDGPU::SchedulingPhase::PreRAReentry`
Commit: eb68b914dd7f1926daf9cfab19b85765f2a60700
https://github.com/llvm/llvm-project/commit/eb68b914dd7f1926daf9cfab19b85765f2a60700
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
Log Message:
-----------
[NFC][LLVM] Apply std::move to object being pushed back in findSymbolCommon (#135290)
Static analysis found that we could move LineInfo into the Result vector
instead of just copying it.
Commit: 957bd6aa32da8b89571a6e6abb53ec87ad828332
https://github.com/llvm/llvm-project/commit/957bd6aa32da8b89571a6e6abb53ec87ad828332
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn
Log Message:
-----------
[gn] port d1fd97737e90
Commit: 4c67bdd973ee1c308155555500ef39d4e2099a6a
https://github.com/llvm/llvm-project/commit/4c67bdd973ee1c308155555500ef39d4e2099a6a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
Log Message:
-----------
[RISCV] Don't fold offsets into auipc if offset is larger than the reference global variable. (#135297)
The global variable should be within 2GB of the PC, but an offset to an
address outside the global might not be.
Fixes #134525.
Commit: 6aae1047b6c701b407c0cadaf1acd036c1bab6b6
https://github.com/llvm/llvm-project/commit/6aae1047b6c701b407c0cadaf1acd036c1bab6b6
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
Log Message:
-----------
[clang] ASTImporter: fix SubstNonTypeTemplateParmExpr source location (#135450)
This makes it clear which source location is imported.
Commit: b74dbf7fb2d152109bba29fdb39e0924eb8dc842
https://github.com/llvm/llvm-project/commit/b74dbf7fb2d152109bba29fdb39e0924eb8dc842
Author: Pranav Kant <prka at google.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add support for SMT Dialect (#135454)
This fixes #131480
Commit: a4fbc6f78f7a276d23f61c93694090fccd2461cb
https://github.com/llvm/llvm-project/commit/a4fbc6f78f7a276d23f61c93694090fccd2461cb
Author: Pranav Kant <prka at google.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix a typo (#135460)
Commit: 54e70ac7650f1c22f687937d1a082e4152f97b22
https://github.com/llvm/llvm-project/commit/54e70ac7650f1c22f687937d1a082e4152f97b22
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/SMT/IR/SMTOps.td
M mlir/lib/Dialect/SMT/IR/SMTOps.cpp
M mlir/unittests/Dialect/SMT/CMakeLists.txt
R mlir/unittests/Dialect/SMT/QuantifierTest.cpp
Log Message:
-----------
[mlir][SMT] remove custom forall/exists builder because of asan memory leak
Commit: 357e3803bb94cc622c785f7eb60aa38d552bc5ef
https://github.com/llvm/llvm-project/commit/357e3803bb94cc622c785f7eb60aa38d552bc5ef
Author: Sagar Kulkarni <sagar.kulkarni1911 at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][vector] Prevent folding non memref-type gather into maskedload (#135371)
This patch fixes an issue in the FoldContiguousGather pattern which was
incorrectly folding vector.gather operations with contiguous indices
into vector.maskedload operations regardless of the base operand type.
While vector.gather operations can work on both tensor and memref types,
vector.maskedload operations are only valid for memref types. The
pattern was incorrectly lowering a tensor-based gather into a
masked-load, which is invalid.
This fix adds a type check to ensure the pattern only applies to
memref-based gather operations.
Co-authored-by: Sagar Kulkarni <sagar at rain.ai>
Commit: 336b290923151d02fd6b3050ccbaf74f0aa08339
https://github.com/llvm/llvm-project/commit/336b290923151d02fd6b3050ccbaf74f0aa08339
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll
Log Message:
-----------
[RISCV] Use a DAG combine to prune pointless vrgather.vi (#135392)
If the vrgather.vi is preceeded by a vmv.v.x which writes a superset of
the lanes writen by the vrgather, and the vrgather has no passthru, then
the vrgather has no semantic effect.
This is the start of a mini-series of patches around rewriting
vrgather.vi/vx preceeded by vmv.v.x, vfmf.v.f, vmv.s.x, etc... Starting
with the simplest, but also lowest impact.
One point I'd like a second oppinion on is the out of bounds semenatic
change. As far as I can tell, all the indices are in bounds by
construction. The doc change is as much as I couldn't figure out how to
test the alternative as anything else.
Commit: 3a2d9a7c1e73618ca77caa6455e9208ad3b16664
https://github.com/llvm/llvm-project/commit/3a2d9a7c1e73618ca77caa6455e9208ad3b16664
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/Frontend/CompilerInstance.h
M clang/lib/Frontend/CompilerInstance.cpp
Log Message:
-----------
[clang][frontend] Expose `CompilerInstance::cloneForModuleCompile()` (#135405)
This PR exposes `cloneForModuleCompile()` as a public `CompilerInstance`
member function. This will be eventually used in the dependency scanner
to customize implicit module builds.
Commit: fa4ac19f0fc937e30fd7711dad98d0fcdb34f8ba
https://github.com/llvm/llvm-project/commit/fa4ac19f0fc937e30fd7711dad98d0fcdb34f8ba
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/callcont-fallthru.s
M bolt/test/link_fdata.py
Log Message:
-----------
[BOLT] Accept PLT fall-throughs as valid traces (#129481)
We used to report PLT traces as invalid (mismatching disassembled
function contents) because PLT functions are marked as pseudo and
ignored, thus missing CFG. However, such traces are not mismatching
the function contents. Accept them without attaching the profile.
Test Plan: updated callcont-fallthru.s
Commit: 6bea80e93fcba89a6b3a8312cc0a3c3f528b284a
https://github.com/llvm/llvm-project/commit/6bea80e93fcba89a6b3a8312cc0a3c3f528b284a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
Log Message:
-----------
[TableGen] Remove unneeded FIXME. NFC
The message looks correct to me.
Commit: d49063b4962367bac52d4a3e2aa4ff324a7d8fbf
https://github.com/llvm/llvm-project/commit/d49063b4962367bac52d4a3e2aa4ff324a7d8fbf
Author: Brad Smith <brad at comstyle.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M compiler-rt/lib/asan/asan_linux.cpp
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/interception/interception_linux.cpp
M compiler-rt/lib/interception/interception_linux.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Log Message:
-----------
[compiler-rt][sanitizer][NFC] update endif markers for Haiku (#135475)
Commit: 7a6a79551d1bf5468f925ffcaa3d62807cca1aaa
https://github.com/llvm/llvm-project/commit/7a6a79551d1bf5468f925ffcaa3d62807cca1aaa
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
Log Message:
-----------
[NFC][equivalenceClass] Refactor coding style in EquivalenceClasses.h. (#135467)
Commit: b864405c9b848d6815ac4562fe3680c5ce8d90ff
https://github.com/llvm/llvm-project/commit/b864405c9b848d6815ac4562fe3680c5ce8d90ff
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
Log Message:
-----------
MCAsmInfo: Remove unused UseParensForDollarSignNames
Follow-up to 3acccf042ab8a7b7e663bb2b2fac328d9bf65b38
Commit: 339f58de16ac7a31869d189bec6cad7696958546
https://github.com/llvm/llvm-project/commit/339f58de16ac7a31869d189bec6cad7696958546
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Add llvm-symbolizer to CI container
This is needed for symbolizing some test failures. It is under 8MB, so there is
very little cost to adding it.
Commit: 76e07d8ba5286daf349ef19588c8c011162bec09
https://github.com/llvm/llvm-project/commit/76e07d8ba5286daf349ef19588c8c011162bec09
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
M llvm/test/Transforms/InferFunctionAttrs/readonly_and_writeonly.ll
M llvm/test/Transforms/LICM/strlen.ll
M llvm/test/Transforms/LoopIdiom/basic.ll
M llvm/test/Transforms/LoopIdiom/memset-pattern-tbaa.ll
M llvm/test/Transforms/LoopIdiom/struct_pattern.ll
M llvm/test/Transforms/LoopIdiom/unroll-custom-dl.ll
M llvm/test/Transforms/LoopIdiom/unroll.ll
M llvm/test/Transforms/PreISelIntrinsicLowering/X86/memset-pattern.ll
Log Message:
-----------
[LibCall] Infer nocallback for libcalls (#135173)
This patch adds `nocallback` attributes for string/math libcalls. It
allows FuncAttributor to infer `norecurse` more precisely and encourages
more aggressive global optimization.
Commit: 8b40a09bf50d62e2017611b7be2c55fab22d9572
https://github.com/llvm/llvm-project/commit/8b40a09bf50d62e2017611b7be2c55fab22d9572
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/test/CodeGen/catch-alignment-assumption-array.c
M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-lvalue.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-paramvar.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function-variable.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function-two-params.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-polymorphism.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params-variable.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-two-params.cpp
M clang/test/CodeGen/catch-alignment-assumption-openmp.cpp
Log Message:
-----------
[Clang][CodeGen][UBSan] Remove redundant `EmitCheckValue` calls. NFCI (#135141)
`EmitCheckValue` is called inside `EmitCheck`:
https://github.com/llvm/llvm-project/blob/b122956390a6877536927c2b073a0b99f8b9704f/clang/lib/CodeGen/CGExpr.cpp#L3739
The outside calls are redundant because
`EmitCheckValue(EmitCheckValue(V))` always returns `EmitCheckValue(V)`.
Required by https://github.com/llvm/llvm-project/pull/135135.
Commit: 4dd80b73b00c05cf3d0a29c736fa2dae8e64c780
https://github.com/llvm/llvm-project/commit/4dd80b73b00c05cf3d0a29c736fa2dae8e64c780
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
Log Message:
-----------
[SimplifyCFG] test for trunc condition (NFC)
Commit: 2b270df2e7be5deef5d471b7624363d9b48b4480
https://github.com/llvm/llvm-project/commit/2b270df2e7be5deef5d471b7624363d9b48b4480
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
A lld/test/COFF/export-alias.test
M llvm/lib/Object/COFFModuleDefinition.cpp
A llvm/test/tools/llvm-lib/underscore.test
Log Message:
-----------
[Object][COFF] Avoid underscore prefix for forwarding exports (#135433)
Fixes #132411.
Commit: 6de15379f4c1ae88ec347c6e000d6f27ad0a948b
https://github.com/llvm/llvm-project/commit/6de15379f4c1ae88ec347c6e000d6f27ad0a948b
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/any.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/array.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/barrier.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/bit.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/bitset.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/charconv.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/chrono.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cmath.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/compare.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/complex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/concepts.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/coroutine.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstddef.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstdlib.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstring.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/exception.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/execution.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iomanip.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ios.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/istream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iterator.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/limits.version.compile.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/locale.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory_resource.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numbers.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ostream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/print.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/queue.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/random.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ratio.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/regex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/scoped_allocator.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/source_location.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/span.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/sstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stack.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stdatomic.h.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string_view.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/syncstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/typeinfo.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[NFC][libc++][test] Minor updates to generated header version test. (#134543)
Adjusting the existing script to match the new output makes it easy to
review the new script works correctly.
This adjusts the tests to match the changes in the new tests, Notably
- removes the synopsis uses 2 spaces indent in `# if`
It does not implement the conditional include part. This would be quite
some effort and these diffs are easy to review manually.
Note there are no tests for the changes; the existing script will be
phased out when the next generators are complete.
Commit: d39d24cec109e99e74a8cfd88d28eb32195a9f2e
https://github.com/llvm/llvm-project/commit/d39d24cec109e99e74a8cfd88d28eb32195a9f2e
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
Log Message:
-----------
[libc++][doc] Updates the release notes.
Copies the not-yet-implemented items planned for removal from the
LLVM-20 to the LLVM-21 release notes. This allows to better keep track
of the status of the next release.
Commit: e838b8b7e71df4ee0e3aea6c94f510ee1794d707
https://github.com/llvm/llvm-project/commit/e838b8b7e71df4ee0e3aea6c94f510ee1794d707
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
A llvm/test/Transforms/LowerMatrixIntrinsics/transpose-fold.ll
Log Message:
-----------
[Matrix] Fix a miscompile due to an incorrect double-transpose fold (#135397)
Transposes are only inverses of each other when they have matching
shapes.
rdar://145592582
Commit: 33e5305c598be9b4f57feba330b963c2142d15cc
https://github.com/llvm/llvm-project/commit/33e5305c598be9b4f57feba330b963c2142d15cc
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll
Log Message:
-----------
[RISCV] Further explain vfmerge.vfm/vmerge.vxm varuat coverage
Commit: c6a892e0ed82a378ad1a69905f70700bf57c68cf
https://github.com/llvm/llvm-project/commit/c6a892e0ed82a378ad1a69905f70700bf57c68cf
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/SMT/IR/SMTOps.td
M mlir/lib/Dialect/SMT/IR/SMTOps.cpp
M mlir/unittests/Dialect/SMT/CMakeLists.txt
A mlir/unittests/Dialect/SMT/QuantifierTest.cpp
Log Message:
-----------
[mlir][SMT] restore custom builder for forall/exists (#135470)
This reverts commit 54e70ac7650f1c22f687937d1a082e4152f97b22 which
itself fixed an [asan
leak](https://lab.llvm.org/buildbot/#/builders/55/builds/9761) from the
original upstreaming commit. The leak was due to op allocations not
being `free`ed.
~~The necessary change was to explicitly `->destroy()` the ops at the
end of the tests. I believe this is because the rewriter used in the
tests doesn't actually insert them into a module and so without an
explicit `->destroy()` no bookkeeping process is able to take care of
them.~~
The necessary change was to use `OwningOpRef` which calls `op->erase()`
in its [own
destructor](https://github.com/makslevental/llvm-project/blob/89cfae41ecc043f8c47be4dea4b7c740d4f950b3/mlir/include/mlir/IR/OwningOpRef.h#L39).
Commit: b233d79623dd3a6d307db2bc73ddd12e3a054460
https://github.com/llvm/llvm-project/commit/b233d79623dd3a6d307db2bc73ddd12e3a054460
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/r600.llvm.is.fpclass.ll
Log Message:
-----------
R600: Expand is_fpclass (#135234)
Commit: 009971a0d3218d3af0d10fb70d2c876ccc46b24d
https://github.com/llvm/llvm-project/commit/009971a0d3218d3af0d10fb70d2c876ccc46b24d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
Log Message:
-----------
[TableGen] Accurately calculate where the source variable ops start in PseudoLoweringEmitter::emitLoweringEmitter. (#135465)
The code was using the number of source operands plus one. The plus one
seems to be an ARM specific value accounting for one of the source
operands having 2 sub operands. No other target in tree uses
PseudoLowering with variadic instructions so this worked.
This patch replaces it with a proper count of the number of sub operands
of all operands. While there I update the loop to use MIOperandNo so we
don't need to count up the sub operands as we go.
Commit: 761787d42576751afbaaba5107233ee849f81b6f
https://github.com/llvm/llvm-project/commit/761787d42576751afbaaba5107233ee849f81b6f
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/AST.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/CXX/class.derived/class.derived.general/p2.cpp
M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
M clang/test/SemaCXX/undefined-partial-specialization.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/type_pack_element.cpp
M clang/unittests/AST/TypePrinterTest.cpp
Log Message:
-----------
Reland: [clang] Improved canonicalization for template specialization types (#135414)
This relands https://github.com/llvm/llvm-project/pull/135119, after
fixing crashes seen in LLDB CI reported here:
https://github.com/llvm/llvm-project/pull/135119#issuecomment-2794910840
Fixes https://github.com/llvm/llvm-project/pull/135119
This changes the TemplateArgument representation to hold a flag
indicating whether a tempalte argument of expression type is supposed to
be canonical or not.
This gets one step closer to solving
https://github.com/llvm/llvm-project/issues/92292
This still doesn't try to unique as-written TSTs. While this would
increase the amount of memory savings and make code dealing with the AST
more well-behaved, profiling template argument lists is still too
expensive for this to be worthwhile, at least for now.
This also fixes the context creation of TSTs, so that they don't in some
cases get incorrectly flagged as sugar over their own canonical form.
This is captured in the test expectation change of some AST dumps.
This fixes some places which were unnecessarily canonicalizing these
TSTs.
Commit: b71123f1272ee081b18b8ced1925d6e9300e7310
https://github.com/llvm/llvm-project/commit/b71123f1272ee081b18b8ced1925d6e9300e7310
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Calculator.h
M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
Log Message:
-----------
[clang-doc] Pre-commit tests for static members and functions (#135456)
Issue #59813 mentions that static members are not included in
the documentation generated by clang-doc. This patch adds
some basic testing for that property, with the current incorrect
behavior. Follow up patches will address the missing documentation.
Commit: 995fd47944f471e985e34d7da8c0667059decbac
https://github.com/llvm/llvm-project/commit/995fd47944f471e985e34d7da8c0667059decbac
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/safe-dep-distance.ll
Log Message:
-----------
[LAA] Make sure MaxVF for Store-Load forward safe dep distances is pow2.
MaxVF computed in couldPreventStoreLoadFowrard may not be a power of 2,
as CommonStride may not be a power-of-2.
This can cause crashes after 78777a20. Use bit_floor to make sure it is
a suitable power-of-2.
Fixes https://github.com/llvm/llvm-project/issues/134696.
Commit: 4fa3b2a1843c42f333d7332b373ae99428883974
https://github.com/llvm/llvm-project/commit/4fa3b2a1843c42f333d7332b373ae99428883974
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Use TypeAnalysis instead of underlying instr in VPPredInst (NFC)
Removes another unnecessary use of the underlying instructions during
VPlan execution.
Commit: 5bdad0555eae01e5eef6a1360c1637a5d9bcde79
https://github.com/llvm/llvm-project/commit/5bdad0555eae01e5eef6a1360c1637a5d9bcde79
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
[libc++][NFC] Remove a few aliases in __tree (#134392)
These aliases aren't required anymore, since we've taken an ABI break
unconditionally which these were used to avoid.
Commit: acf964b95f5421cc372719139b427be37ad79e7e
https://github.com/llvm/llvm-project/commit/acf964b95f5421cc372719139b427be37ad79e7e
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M mlir/include/mlir/InitAllTranslations.h
A mlir/include/mlir/Target/SMTLIB/ExportSMTLIB.h
A mlir/include/mlir/Target/SMTLIB/Namespace.h
A mlir/include/mlir/Target/SMTLIB/SymCache.h
M mlir/lib/Target/CMakeLists.txt
A mlir/lib/Target/SMTLIB/CMakeLists.txt
A mlir/lib/Target/SMTLIB/ExportSMTLIB.cpp
A mlir/test/Target/SMTLIB/array.mlir
A mlir/test/Target/SMTLIB/attributes.mlir
A mlir/test/Target/SMTLIB/bitvector-errors.mlir
A mlir/test/Target/SMTLIB/bitvector.mlir
A mlir/test/Target/SMTLIB/core-errors.mlir
A mlir/test/Target/SMTLIB/core.mlir
A mlir/test/Target/SMTLIB/integer-errors.mlir
A mlir/test/Target/SMTLIB/integer.mlir
Log Message:
-----------
[mlir][SMT] add export smtlib (#131492)
This PR adds the `ExportSMTLIB` translation/egress pass for `SMT`
dialect.
Commit: 75dea80085ff9870239109275a2f19d6709fbe65
https://github.com/llvm/llvm-project/commit/75dea80085ff9870239109275a2f19d6709fbe65
Author: Min Hsu <min at myhsu.dev>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M .mailmap
Log Message:
-----------
[mailmap] Consolidate all my email addresses
Commit: f0dc236d3384e5d5dce2e39a8a3202325899eae5
https://github.com/llvm/llvm-project/commit/f0dc236d3384e5d5dce2e39a8a3202325899eae5
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/test/MC/RISCV/rv32c-invalid.s
Log Message:
-----------
[RISCV][NFC] Correct c_lui_imm (#135448)
The MCOperandPredicate seems to allow symbols as well as immediates, but
the parser/matcher does not due to `isCLUIImm`. This brings both in line
with each other, and should prevent trying to compress a `lui` with a
symbol, which cannot be emitted as a `c.lui` as there are no relocations
for this as `R_RISCV_RVC_LUI` is deprecated/removed.
Commit: d903f6b672cb7ebb162e3ef98f483e79b180a413
https://github.com/llvm/llvm-project/commit/d903f6b672cb7ebb162e3ef98f483e79b180a413
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M mlir/lib/Target/SMTLIB/CMakeLists.txt
Log Message:
-----------
[mlir][SMT] fix MLIRExportSMTLIB by linking MLIRArithDialect
Commit: bbc5d205d409bb22fe4ae8ad16ebaf1752e6b700
https://github.com/llvm/llvm-project/commit/bbc5d205d409bb22fe4ae8ad16ebaf1752e6b700
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M mlir/lib/Target/SMTLIB/CMakeLists.txt
Log Message:
-----------
[MLIR] Fix build after #131492 (#135502)
After #131492 is appears that linking MLIRAritDialect was missing.
Commit: 09c8cfe219481a8fc20c6711dc5c87451f5a5ef1
https://github.com/llvm/llvm-project/commit/09c8cfe219481a8fc20c6711dc5c87451f5a5ef1
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M clang/include/clang/Format/Format.h
M clang/lib/Format/BreakableToken.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/CleanupTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format][NFC] Add isJava() and isTextProto() in FormatStyle (#135466)
Also remove redundant name qualifiers format::, FormatStyle::, and
LanguageKind::.
Commit: 5f744cc6301abb3be5a500b2fcbc944fe2bd3241
https://github.com/llvm/llvm-project/commit/5f744cc6301abb3be5a500b2fcbc944fe2bd3241
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Wrap and indent lambda braces in GNU style (#135479)
Fix #133135
Commit: b0fede358fea768ead2dc5d59ad0b6b2decc4217
https://github.com/llvm/llvm-project/commit/b0fede358fea768ead2dc5d59ad0b6b2decc4217
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
A llvm/test/ThinLTO/AMDGPU/Inputs/in-f1.ll
A llvm/test/ThinLTO/AMDGPU/force-import-all.ll
A llvm/test/ThinLTO/AMDGPU/lit.local.cfg
Log Message:
-----------
[ThinLTO] Don't convert functions to declarations if `force-import-all` is enabled (#134541)
On one hand, we intend to force import all functions when the option is
enabled.
On the other hand, we currently drop definitions of some functions and
convert
them to declarations, which contradicts this intent.
With this PR, functions will no longer be converted to declarations when
`force-import-all` is enabled.
Commit: 60b1d44d708d5912897c7bdab681cbefe8f35e79
https://github.com/llvm/llvm-project/commit/60b1d44d708d5912897c7bdab681cbefe8f35e79
Author: Sayan Saha <sayans at mathworks.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
[tosa]: canonicalize dynamic size of tosa.slice to static output shape (#135429)
Addresses https://github.com/llvm/llvm-project/issues/135389
Commit: cfa322fa9a693d4ba652871fafc6dbb2039b55a2
https://github.com/llvm/llvm-project/commit/cfa322fa9a693d4ba652871fafc6dbb2039b55a2
Author: A. Jiang <de34 at live.cn>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M libcxx/include/__algorithm/sort.h
M libcxx/include/__bit/bit_log2.h
Log Message:
-----------
[libc++][NFC] Reuse `__bit_log2` for `sort` (#135303)
The `__log2i` function template in `<algorithm/sort.h>` is basically
equivalent to `__bit_log2` in `<__bit/bit_log2.h>`. It seems better to
avoid duplication.
Commit: b0acbbee88f8ae706658f2a7635df4ce39e15e74
https://github.com/llvm/llvm-project/commit/b0acbbee88f8ae706658f2a7635df4ce39e15e74
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
Log Message:
-----------
[mlir][vector] Fix deprecation warning for `.isa`. NFC. (#135512)
This was introduced in: https://github.com/llvm/llvm-project/pull/135371
Commit: 39662922e15c53f54da93b5a1d029589d49caec9
https://github.com/llvm/llvm-project/commit/39662922e15c53f54da93b5a1d029589d49caec9
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/MC/MCObjectStreamer.cpp
Log Message:
-----------
MCObjectStreamer: Refine absoluteSymbolDiff condition
The function is called to test the fast path - when Lo/Hi are within the
same fragment. This is unsafe - Lo/Hi at the begin and end of a
relaxable fragment should not evaluate to a constant. However, we don't
have tests that exercise the code path.
Nevertheless, make the check safer and remove the now unnecessary
isRISCV check (from https://reviews.llvm.org/D103539).
Commit: 3e7be494f84e51d5f4245d6f39e380a500f226a6
https://github.com/llvm/llvm-project/commit/3e7be494f84e51d5f4245d6f39e380a500f226a6
Author: A. Jiang <de34 at live.cn>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M libcxx/test/std/strings/basic.string/string.modifiers/string_append/initializer_list.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_assign/string.pass.cpp
M libcxx/test/support/nasty_string.h
Log Message:
-----------
[libc++][test] Test `nasty_string` in C++20 (#135338)
It seems that we can only rely on C++20 features and make `nasty_string`
also tested for MSVC STL.
Commit: 329a675006a22da89ca39199fac4408e3ae4eee4
https://github.com/llvm/llvm-project/commit/329a675006a22da89ca39199fac4408e3ae4eee4
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCELFObjectWriter.h
M llvm/lib/MC/ELFObjectWriter.cpp
Log Message:
-----------
ELFObjectWriter: Simplify STT_SECTION adjustment. NFC
Commit: 1c5961c0481b9c7421d38e3141d3c5a1e6084234
https://github.com/llvm/llvm-project/commit/1c5961c0481b9c7421d38e3141d3c5a1e6084234
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/test/MC/ELF/reloc-directive.s
Log Message:
-----------
ELFObjectWriter: Disable STT_SECTION adjustment for .reloc
to match GNU Assembler. This generalizes the SHT_LLVM_CALL_GRAPH_PROFILE
(which uses BFD_RELOC_NONE https://reviews.llvm.org/D104080) special case.
Commit: 3ff634dee857c4d71ff665e49d38005e608de8a0
https://github.com/llvm/llvm-project/commit/3ff634dee857c4d71ff665e49d38005e608de8a0
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/test/MC/ELF/reloc-directive.s
Log Message:
-----------
Revert "ELFObjectWriter: Disable STT_SECTION adjustment for .reloc"
This reverts commit 1c5961c0481b9c7421d38e3141d3c5a1e6084234.
Inadvertently pushed.
Commit: 302bc414103eb6de9c0dce62cfd37bf3ab7e8cbe
https://github.com/llvm/llvm-project/commit/302bc414103eb6de9c0dce62cfd37bf3ab7e8cbe
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/utils/Matchers.cpp
M clang-tools-extra/clang-tidy/utils/Matchers.h
Log Message:
-----------
[clang-tidy] `matchesAnyListedTypeName` support non canonical types (#134869)
Commit: 06814834a63139ff27efe3bdbc6dc15d46666b39
https://github.com/llvm/llvm-project/commit/06814834a63139ff27efe3bdbc6dc15d46666b39
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.h
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-allowed-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-cast-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output.cpp
Log Message:
-----------
[clang-tidy] treat unsigned char and signed char as char type by default in bugprone-unintended-char-ostream-output (#134870)
Add `AllowedTypes` options to support custom defined char like type.
treat `unsigned char` and `signed char` as char like type by default.
The allowed types only effect when the var decl or explicit cast to this
non-canonical type names.
Fixed: #133425
Commit: 734660b6dd95d37604ac43f43de4f8da518e7319
https://github.com/llvm/llvm-project/commit/734660b6dd95d37604ac43f43de4f8da518e7319
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
Log Message:
-----------
ELFObjectWriter: Simplify STT_SECTION adjustment
Commit: 19730e37ec5d3513d188a75999c964f2ef4b9509
https://github.com/llvm/llvm-project/commit/19730e37ec5d3513d188a75999c964f2ef4b9509
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
Log Message:
-----------
ELFObjectWriter: Make .reloc test generic
Move `Fixup.getKind() >= FirstLiteralRelocationKind` from target hooks
to ELFObjectWriter::recordRelocation.
Currently, getRelocType cannot be skipped for LoongArch due to #135519
Commit: 6196379baf4fe42b6c1a4bea270df39b7152547b
https://github.com/llvm/llvm-project/commit/6196379baf4fe42b6c1a4bea270df39b7152547b
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
Log Message:
-----------
[PowerPC] Fix -Wunused-variable
Commit: 7940b0546ba0c28990bc059c8c3ec36fdad0fd0a
https://github.com/llvm/llvm-project/commit/7940b0546ba0c28990bc059c8c3ec36fdad0fd0a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
Log Message:
-----------
[BOLT] Fix warning
This patch fixes:
bolt/lib/Core/BinaryContext.cpp:582:8: error: unused variable
'printEntryDiagnostics' [-Werror,-Wunused-variable]
bolt/lib/Core/BinaryContext.cpp:842:10: error: unused variable
'isSibling' [-Werror,-Wunused-variable]
Commit: f4fba20726aced418dc7ae24e47ee78f109a64cb
https://github.com/llvm/llvm-project/commit/f4fba20726aced418dc7ae24e47ee78f109a64cb
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M lldb/include/lldb/API/SBReproducer.h
M lldb/include/lldb/Core/Debugger.h
R lldb/scripts/reproducer-replay.py
M lldb/source/API/SBReproducer.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/unittests/Core/DiagnosticEventTest.cpp
M lldb/unittests/Interpreter/TestCommandPaths.cpp
M lldb/unittests/Platform/PlatformSiginfoTest.cpp
M lldb/unittests/Process/ProcessEventDataTest.cpp
M lldb/unittests/ScriptInterpreter/Lua/ScriptInterpreterTests.cpp
M lldb/unittests/Target/ExecutionContextTest.cpp
M lldb/unittests/Target/MemoryTest.cpp
M lldb/unittests/Target/StackFrameRecognizerTest.cpp
M lldb/unittests/Thread/ThreadTest.cpp
Log Message:
-----------
[lldb] Remove vestigial remnants of reproducers (#135361)
Not touching the SB API.
Commit: d6e2aee9b1069b4a5fc1a0b07aef23b380f856f6
https://github.com/llvm/llvm-project/commit/d6e2aee9b1069b4a5fc1a0b07aef23b380f856f6
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
Revert "[tosa]: canonicalize dynamic size of tosa.slice to static output shape" (#135525)
Reverts llvm/llvm-project#135429 due buildbot breakage:
https://lab.llvm.org/buildbot/#/builders/169/builds/10405
Based on the ASan output, I think after the replaceOp on line 775, it's
no longer valid to do getSize() on sliceOp:
```
775 rewriter.replaceOp(sliceOp, newSliceOp.getResult());
776
777 // Remove const_shape size op when it no longer has use point.
778 Operation *sizeConstShape = sliceOp.getSize().getDefiningOp();
```
Commit: 12a7155ee290d62fef00362554b392a98b75fb77
https://github.com/llvm/llvm-project/commit/12a7155ee290d62fef00362554b392a98b75fb77
Author: Christian Sigg <csigg at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Port mlir-translate bits of acf964b95f54.
Commit: 5c45e239e81972ec3ff84b1650825385ccad0d46
https://github.com/llvm/llvm-project/commit/5c45e239e81972ec3ff84b1650825385ccad0d46
Author: A. Jiang <de34 at live.cn>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/reverse_iterator.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/reverse_iterator.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/reverse_iterator.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/reverse_iterator.pass.cpp
Log Message:
-----------
[libc++][test][NFC] Remove unused inclusions of `<iostream>` (#134776)
Some test files for flat container adaptors redundantly include
`<iostream>` and, surprisingly, `<cstddef>`. This patch removes the
redundant inclusions.
Inclusions of `<vector>` is also removed since a sane implementation is
expected to make instantiation of `flat_(multi)map<K, V>` or
`flat_(multi)set<K>` valid when only `<flat_map>` or `<flat_set>` is
included.
Commit: 028429ac452acde227ae0bfafbfe8579c127e1ea
https://github.com/llvm/llvm-project/commit/028429ac452acde227ae0bfafbfe8579c127e1ea
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/ROCm.h
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/rocm-device-libs.cl
Log Message:
-----------
clang/AMDGPU: Stop looking for oclc_daz_opt_* control libraries (#134805)
These have been empty since July 2023
Commit: 1c5ce2d74fa3ee15d1cb2e092cce0754c8ce19fa
https://github.com/llvm/llvm-project/commit/1c5ce2d74fa3ee15d1cb2e092cce0754c8ce19fa
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
M lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp
Log Message:
-----------
Reapply "[lldb] ProcessGdbRemote header gardning"
This reverts commit 68ab45f0533f3bbfc1c96bddd53de7e769180219, reapplying
2fd860c1f559c0b0be66cc000e38270a04d0a1a3. The only change is keeping
"lldb/Host/Config.h", which I believe was the cause of the failures.
Commit: ca5b3a0f51baa6fddef4d888bf0aacca89e6f565
https://github.com/llvm/llvm-project/commit/ca5b3a0f51baa6fddef4d888bf0aacca89e6f565
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbol.h
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
Log Message:
-----------
[MC] Remove SetUsed on isUndefined and getFragment
Due to the known limitations of .set reassignment (see
https://sourceware.org/PR288), we use diagnostics to reject patterns
that could lead to errors (ae7ac010594f693fdf7b3ab879e196428d961e75 2009-06)).
This code gets refined multiple times, see:
* 9b4a824217f1fe23f83045afe7521acb791bc2d0 (2010-05) `IsUsedInExpr`
* 46c79ef1132607aead144dfda0f26aa8b065214f (2010-11) renamed `IsUsedInExpr` to `IsUsed`
The related `SetUsed` bit seems unnecessary nowadays.
Commit: 1004fae222efeee215780c4bb4e64eb82b07fb4f
https://github.com/llvm/llvm-project/commit/1004fae222efeee215780c4bb4e64eb82b07fb4f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M flang/test/Driver/omp-driver-offload.f90
Log Message:
-----------
flang: Try to update test for oclc_daz_opt removal
Try to fix bot failure after 028429ac452acde227ae0bfafbfe8579c127e1ea
Commit: 4e0876ee43d00c5fc28ed30bcb7c1aac2b18674f
https://github.com/llvm/llvm-project/commit/4e0876ee43d00c5fc28ed30bcb7c1aac2b18674f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M libcxx/include/__atomic/memory_order.h
M libcxx/include/__functional/hash.h
M libcxx/include/__type_traits/underlying_type.h
M libcxx/include/__utility/convert_to_integral.h
M libcxx/include/__utility/to_underlying.h
M libcxx/include/future
Log Message:
-----------
[libc++] Use __underlying_type directly in underyling_type_t (#135423)
This avoids instantiating multiple classes, reducing compile times. This
patch also introduces `__underyling_type_t` for internal use, similar to
other type traits.
Commit: 3bebda0758409e91c25fa5add72ff22f3ddff609
https://github.com/llvm/llvm-project/commit/3bebda0758409e91c25fa5add72ff22f3ddff609
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Mark VPWidenCallRecipe as a VPRecipeWithIRFlags (#135373)
I noticed VPWidenCallRecipe was missing here, it looks like it should be
handled in VPRecipeWithIRFlags::classof
Commit: 84666d68740bea9eee19399ab5c8622ff2f6e9ca
https://github.com/llvm/llvm-project/commit/84666d68740bea9eee19399ab5c8622ff2f6e9ca
Author: Sean Perry <perry at ca.ibm.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/Basic/SourceManager.cpp
Log Message:
-----------
Add back include for AutoConvert.h as it's needed for z/OS (#135430)
The commit
https://github.com/llvm/llvm-project/commit/a1935fd3809772c06f9a09fa151181642ae92b20
removed an include that is needed when building on z/OS.
Commit: beac727e48346efb84558696fb080b1bbd07e234
https://github.com/llvm/llvm-project/commit/beac727e48346efb84558696fb080b1bbd07e234
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/IROutliner.cpp
Log Message:
-----------
IROutliner: Do not look at use lists of constant phi inputs (#135019)
Theoretically this does a worse job with globals but this is not
covered by existing tests
Commit: 09588e93bbe486ce782de9fba604f5cd184ec446
https://github.com/llvm/llvm-project/commit/09588e93bbe486ce782de9fba604f5cd184ec446
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
Log Message:
-----------
[clang][bytecode] Fix an inconsistency with loop condition jumps (#135530)
When emitting the jump for e.g. a for loop condition, we used to jump
out of the CondScope, leaving the scope initialized, because we skipped
the corresponding Destroy opcode. If that loop was in a loop itself,
that outer loop could then iterate once more, leading to us initializing
a scope that was still initialized.
Fix this by also destroying the scope after the EndLabel.
Commit: 0f607f3df54e22896b484510f0c1ccfb718de67a
https://github.com/llvm/llvm-project/commit/0f607f3df54e22896b484510f0c1ccfb718de67a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
Log Message:
-----------
[VPlan] Simplify 'or x, true' -> true.
Add additional OR simplification to fix a divergence between legacy and
VPlan-based cost model.
This adds a new m_AllOnes matcher by generalizing specific_intval to
int_pred_ty, which takes a predicate to check to support matching both
specific APInts and other APInt predices, like isAllOnes.
Fixes https://github.com/llvm/llvm-project/issues/131359.
Commit: ed43207306f7351f2b4f8284710b028df973d74e
https://github.com/llvm/llvm-project/commit/ed43207306f7351f2b4f8284710b028df973d74e
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table_big.ll
M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
Log Message:
-----------
[SimplifyCFG] Handle trunc condition in foldBranchToCommonDest. (#135490)
proof: https://alive2.llvm.org/ce/z/v32Aof
Commit: 77fcdb9f26d2d9da04767894b23b71e52e5ac7ce
https://github.com/llvm/llvm-project/commit/77fcdb9f26d2d9da04767894b23b71e52e5ac7ce
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
Log Message:
-----------
[Scalar] Avoid repeated hash lookups (NFC) (#132660)
Commit: bb9580a02b393683ff0b6c360df684f33c715a1f
https://github.com/llvm/llvm-project/commit/bb9580a02b393683ff0b6c360df684f33c715a1f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
A llvm/test/Analysis/ScalarEvolution/pr135531.ll
Log Message:
-----------
[SCEV] Use ashr to adjust constant multipliers (#135534)
SCEV converts "-2 *nsw (i32 V)" into "2148473647 *nsw (i32 V)". But we
cannot preserve the nsw flag when the constant multiplier is negative.
This patch changes lshr to ashr so that we can preserve both nsw and nuw
flags.
Alive2 proof: https://alive2.llvm.org/ce/z/LZVSEa
Closes https://github.com/llvm/llvm-project/issues/135531.
Commit: 5550d302288f95fc9bb91d0ba35e5ca459ffd9b1
https://github.com/llvm/llvm-project/commit/5550d302288f95fc9bb91d0ba35e5ca459ffd9b1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
Log Message:
-----------
[VPlan] Check captured operand when simplifying redundant OR.
Follow-up to 0f607f to actually use the captured operand X instead of Y.
Commit: 703cfe745b96751c1204bcffe4e56038c809247f
https://github.com/llvm/llvm-project/commit/703cfe745b96751c1204bcffe4e56038c809247f
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M libcxx/include/__bit/popcount.h
M libcxx/include/__stop_token/atomic_unique_lock.h
Log Message:
-----------
[libc++] Replace __libcpp_popcount by __builtin_popcountg (#133937)
`__libcpp_popcount` was previously used as a fallback for `__builtin_popcountg` to ensure compatibility with older compilers (Clang 18 and earlier), as `__builtin_popcountg` became available in Clang 19. Now that support for Clang 18 has been officially dropped in #130142, we can now safely replace all instances of `__libcpp_popcount` with `__builtin_popcountg` and eliminate the fallback logic.
Commit: 62d2cc84ac57afa47c2b1de599f9fd6e40adaacd
https://github.com/llvm/llvm-project/commit/62d2cc84ac57afa47c2b1de599f9fd6e40adaacd
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#135540)
Commit: 4b4cd645a829b8e510bdb008f449969d7bf53c30
https://github.com/llvm/llvm-project/commit/4b4cd645a829b8e510bdb008f449969d7bf53c30
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/DebugObjectManagerPlugin.cpp
Log Message:
-----------
[ExecutionEngine] Avoid repeated map lookups (NFC) (#135541)
Commit: d1d5f00a8eb43aaa22274c06b58d567f19e284fe
https://github.com/llvm/llvm-project/commit/d1d5f00a8eb43aaa22274c06b58d567f19e284fe
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Passes/StandardInstrumentations.cpp
Log Message:
-----------
[Passes] Avoid repeated hash lookups (NFC) (#135542)
Commit: ccfb97b42174eab118a4e4222c25e986db876563
https://github.com/llvm/llvm-project/commit/ccfb97b42174eab118a4e4222c25e986db876563
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/ROCm.h
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/rocm-device-libs.cl
M flang/test/Driver/omp-driver-offload.f90
Log Message:
-----------
Revert "clang/AMDGPU: Stop looking for oclc_daz_opt_* control libraries (#134805)"
This reverts commit 028429ac452acde227ae0bfafbfe8579c127e1ea and
1004fae222efeee215780c4bb4e64eb82b07fb4f.
These really need to be part of the compiler distribution. Bots are
relying on a nearly year old version to provide bitcode.
Commit: 1264d7a53a4de3094672be2a248db57b213f33ac
https://github.com/llvm/llvm-project/commit/1264d7a53a4de3094672be2a248db57b213f33ac
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AIX.h
M clang/lib/Driver/ToolChains/PPCLinux.cpp
M clang/lib/Driver/ToolChains/PPCLinux.h
M flang/test/Driver/flang-ld-powerpc.f90
M flang/test/Driver/linker-flags.f90
Log Message:
-----------
[driver] Generalize the code that adds the path of libflang_rt.runtime.a. (#134362)
The PR is to generalize the re-use of the `compilerRT` code of adding
the path of `libflang_rt.runtime.a (so)` from AIX and LoP only to all
platforms via a new function `addFlangRTLibPath`.
It also added `-static-libflangrt` and `-shared-libflangrt` compiler
options to allow users choosing which `flang-rt` to link to. It defaults
to shared `flang-rt`, which is consistent with the linker behavior,
except on AIX, it defaults to static.
Also, PR #134320 exposed an issue in PR #131041 that the the overriding
`addFortranRuntimeLibs` is missing the link to `libquadmath`. This PR
also fixed that and restored the test case that PR #131041 broke.
Commit: 578ca5e469ef1c91a79aa15bc186921ee7faa855
https://github.com/llvm/llvm-project/commit/578ca5e469ef1c91a79aa15bc186921ee7faa855
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
Log Message:
-----------
[clang][bytecode] Print jump lines in Function::dump() (#135482)
E.g. for
```c++
constexpr int foo(int b) {
int a = 1+1;
for (int i = 0; i < b; ++i) {
++a;
}
return a;
}
```
we now print:
```
foo 0x7cc8d4bf0580
frame size: 128
arg size: 8
rvo: 0
this arg: 0
0 InitScope 0
16 ConstSint32 1
32 ConstSint32 1
48 AddSint32
56 SetLocalSint32 40
72 ConstSint32 0
88 SetLocalSint32 104
104 GetPtrLocal 104 <-+
120 LoadPopSint32 |
128 GetPtrParam 0 |
144 LoadPopSint32 |
152 LTSint32 |
160 Jf 80 --+ |
176 GetPtrLocal 40 | |
192 IncPopSint32 1 | |
208 GetPtrLocal 104 | |
224 IncPopSint32 1 | |
240 Jmp -152 | --+
256 GetPtrLocal 40 <-+
272 LoadPopSint32
280 Destroy 0
296 RetSint32
304 Destroy 0
320 NoRet
```
Commit: ce01e4e2f6cb2a1c37e3acceeac931b2031a02e8
https://github.com/llvm/llvm-project/commit/ce01e4e2f6cb2a1c37e3acceeac931b2031a02e8
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCL/opencl-kernel-call.cl
Log Message:
-----------
[Clang][OpenCL][AMDGPU] Use `byref` for aggregate OpenCL kernel arguments (#134892)
Due to a previous workaround allowing kernels to be called from other
functions,
Clang currently doesn't use the `byref` attribute for aggregate kernel
arguments. The issue was recently resolved in
https://github.com/llvm/llvm-project/pull/115821. With that fix, we can
now
enable the use of `byref` consistently across all languages.
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Fixes SWDEV-247226.
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Commit: db20b0d4ec96e4dee0b5ca6e7ddd616eafd88d40
https://github.com/llvm/llvm-project/commit/db20b0d4ec96e4dee0b5ca6e7ddd616eafd88d40
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/test/Transforms/ObjCARC/contract.ll
Log Message:
-----------
ObjCARC: Add regressed testcase from #134275
Commit: a24ef4b07ee798b14fe0f3daa23cc3ec09410bc6
https://github.com/llvm/llvm-project/commit/a24ef4b07ee798b14fe0f3daa23cc3ec09410bc6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/sincospi.ll
Log Message:
-----------
SimplifyLibCalls: Skip sincospi optimization for ConstantData (#134688)
Avoids looking at the uselist, and it would probably be more
productive to constant fold this.
Commit: b37476f99c37a9edf48684d82dde745d9e0df957
https://github.com/llvm/llvm-project/commit/b37476f99c37a9edf48684d82dde745d9e0df957
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Analysis/PHITransAddr.cpp
M llvm/test/Transforms/GVN/pr65447.ll
Log Message:
-----------
PHITransAddr: Avoid looking at constant use lists (#134689)
Avoids asserts in GVN
Commit: 393c783a10052b14d2b76b3ee930b3d83e7f1a16
https://github.com/llvm/llvm-project/commit/393c783a10052b14d2b76b3ee930b3d83e7f1a16
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/test/CodeGen/AMDGPU/swdev380865.ll
M llvm/test/CodeGen/PowerPC/pr43527.ll
M llvm/test/CodeGen/PowerPC/pr48519.ll
M llvm/test/CodeGen/PowerPC/sms-grp-order.ll
M llvm/test/Transforms/LICM/pr50367.ll
M llvm/test/Transforms/LICM/pr59324.ll
Log Message:
-----------
LICM: Avoid looking at use list of constant data (#134690)
The codegen test changes seem incidental. Either way,
sms-grp-order.ll seems to already not hit the original issue.
Commit: 30ae47eeefaeb2c78ae7f234621b8bb0444b7844
https://github.com/llvm/llvm-project/commit/30ae47eeefaeb2c78ae7f234621b8bb0444b7844
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
Log Message:
-----------
SCEVExpander: Don't look at uses of constants (#134691)
This could be more relaxed, and look for uses of globals in
the same function but no tests apparently depend on that.
Commit: 0a27c4e318e778b520306a9e2102e03023cfaa33
https://github.com/llvm/llvm-project/commit/0a27c4e318e778b520306a9e2102e03023cfaa33
Author: Reid Kleckner <rnk at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/cmake/modules/TableGen.cmake
M llvm/include/llvm/TableGen/Main.h
M llvm/include/llvm/TableGen/StringToOffsetTable.h
M llvm/lib/TableGen/CMakeLists.txt
M llvm/lib/TableGen/Main.cpp
A llvm/lib/TableGen/StringToOffsetTable.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/Basic/SequenceToOffsetTable.h
M llvm/utils/TableGen/Basic/TableGen.cpp
M llvm/utils/TableGen/SDNodeInfoEmitter.cpp
M llvm/utils/gn/secondary/llvm/lib/TableGen/BUILD.gn
Log Message:
-----------
[StrTable] Use string literal emission for intrinsics on non-MSVC platforms (#124856)
This mainly transitions the LLVM intrinsic string table from character
emission to string literal emission, which I confirmed happens for me
locally.
I moved the guts of StringToOffsetTable to a cpp file so I could move
the `EmitLongStrLiterals` cl::opt global to a non-vague linkage home in
the `TableGen` library. I had to add missing FormatVariadic.h includes
to account for moving other includes to a cpp file.
Commit: 5f11d64cfb44fc0adf3d3235b0e480d930379e9d
https://github.com/llvm/llvm-project/commit/5f11d64cfb44fc0adf3d3235b0e480d930379e9d
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/Format/WhitespaceManager.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in AlignConsecutiveDeclarations (#135516)
Fix #109768
Commit: c41ef751f85ee42f40380d064f44cfd347fb6215
https://github.com/llvm/llvm-project/commit/c41ef751f85ee42f40380d064f44cfd347fb6215
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Treat lambda in braced init as inline (#135520)
Fix #125430
Commit: dd107b20daedbc49dc3003ae2cb2e846267c308c
https://github.com/llvm/llvm-project/commit/dd107b20daedbc49dc3003ae2cb2e846267c308c
Author: Firas Khalil Khana <firasuke at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M libunwind/docs/BuildingLibunwind.rst
Log Message:
-----------
Update LIBUNWIND_ENABLE_WERROR default value in BuildingLibunwind.rst (#135546)
`LIBUNWIND_ENABLE_WERROR` defaults to `OFF` according to
[CMakeLists.txt](https://github.com/llvm/llvm-project/blob/main/libunwind/CMakeLists.txt#L43).
Commit: 974bda8f61e056f90b17baa6db686c91d20ebe9d
https://github.com/llvm/llvm-project/commit/974bda8f61e056f90b17baa6db686c91d20ebe9d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/codegen.cpp
Log Message:
-----------
[clang][bytecode] Reject constexpr-unknown pointers from Inc ops (#135548)
We used to accept c++ as a known value here, causing wrong codegen.
Commit: c0afb77c2ab92d244d66f2e9bfcf7da92af6091c
https://github.com/llvm/llvm-project/commit/c0afb77c2ab92d244d66f2e9bfcf7da92af6091c
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/function-call-invalid.s
M llvm/test/MC/RISCV/tail-call-invalid.s
Log Message:
-----------
RISCVAsmParser: Reject call foo at invalid
... instead of silently parsing and ignoring it without leaving an error
message.
While here, remove an unreachable `@plt`.
Pull Request: https://github.com/llvm/llvm-project/pull/135509
Commit: d893d129e6ee8b4dead1532cd8420750908acca6
https://github.com/llvm/llvm-project/commit/d893d129e6ee8b4dead1532cd8420750908acca6
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Dialect/GPU/Transforms/ShuffleRewriter.cpp
A mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl-unsupported.mlir
M mlir/test/Dialect/GPU/shuffle-rewrite.mlir
Log Message:
-----------
[mlir] GPUToROCDL: Fix crashes with unsupported shuffle datatypes (#135504)
Calling `getIntOrFloatBitWidth` on non-int/float types (`gpu.shuffle`
also accepts vectors) will crash.
Commit: e555ccaa4da77b5d3065ed7d002e7073db995199
https://github.com/llvm/llvm-project/commit/e555ccaa4da77b5d3065ed7d002e7073db995199
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVDWARFReader.h
M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
M llvm/lib/Target/Hexagon/HexagonTfrCleanup.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Log Message:
-----------
[llvm] Call *Map::erase directly (NFC) (#135545)
Commit: 91a205653e8fa5a338c985b9a9dbaaaec62e3475
https://github.com/llvm/llvm-project/commit/91a205653e8fa5a338c985b9a9dbaaaec62e3475
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rdffr.c
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-abs-srshl.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-all-active-lanes-cvt.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-loadstore.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-cmpne.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-strictfp.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsics-combine-to-u-forms.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsics-ptest.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsics-rdffr-predication.ll
Log Message:
-----------
[AArch64][SVE] Instcombine ptrue(all) to splat(i1) (#135016)
SVE Operations such as predicated loads become canonicalized to LLVM
masked loads, and doing the same for ptrue(all) to splat(1) creates
further optimization opportunities from generic LLVM IR passes.
Commit: 543351babff4144675ee8259eeddafc7b441bf0c
https://github.com/llvm/llvm-project/commit/543351babff4144675ee8259eeddafc7b441bf0c
Author: Sayan Saha <sayans at mathworks.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
[tosa] : Re-enable PR #135429 with ASAN fix (#135560)
Removed the calls to `sizeOp` after replacing `SliceOp`:
```
// Remove const_shape size op when it no longer has use point.
Operation *sizeConstShape = sliceOp.getSize().getDefiningOp();
```
Turns out as part of canonicalization, trivially dead ops are removed
anyway, so the above piece of code isn't actually needed.
Commit: 87322c903976b4b24b96f460719181cbebde1547
https://github.com/llvm/llvm-project/commit/87322c903976b4b24b96f460719181cbebde1547
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
Log Message:
-----------
[ObjCopy] Use llvm::reverse (NFC) (#135559)
Commit: 99df442df1f88c1078c433618c75ee62f3dd8512
https://github.com/llvm/llvm-project/commit/99df442df1f88c1078c433618c75ee62f3dd8512
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M lldb/test/API/python_api/target/read-instructions-flavor/TestTargetReadInstructionsFlavor.py
Log Message:
-----------
Skip test on Darwin
Commit: 3de93015386f17d3430c6534b9fa3e2a9adfaa1a
https://github.com/llvm/llvm-project/commit/3de93015386f17d3430c6534b9fa3e2a9adfaa1a
Author: Yoann Congal <yoann.congal at smile.fr>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/test/CMakeLists.txt
M clang-tools-extra/clangd/test/lit.site.cfg.py.in
Log Message:
-----------
[clangd] Add a build option to disable building dexp (#133124)
Building dexp on Debian 11 currently causes intermittent failures [0] [1].
Adding the CLANGD_BUILD_DEXP option to disable dexp from the build
allows Debian 11 users to build clang (albeit without the dexp tool).
This option is set to "Build Dexp" by default so, no change is expected
without manual setting.
[0]: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15803
[1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1101322
Commit: 425ccd50dc6dd154c448fba8dbcbb4d2f726b331
https://github.com/llvm/llvm-project/commit/425ccd50dc6dd154c448fba8dbcbb4d2f726b331
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clangd/test/BUILD.gn
Log Message:
-----------
[gn] port 3de93015386f
Commit: cbe8f3ad7621e402b050e768f400ff0d19c3aedd
https://github.com/llvm/llvm-project/commit/cbe8f3ad7621e402b050e768f400ff0d19c3aedd
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s
Log Message:
-----------
[AMDGPU][True16][MC] fix fmac_f16_t16 vop3 format (#135464)
add fmac_f16_t16_e64 to isfmac check to fix the vop3 format of
fmac_f16_t16 instruction
Commit: 52e45a79ad24f8a2347a5566e6abaa207918df62
https://github.com/llvm/llvm-project/commit/52e45a79ad24f8a2347a5566e6abaa207918df62
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M lldb/include/lldb/Target/Language.h
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/source/Target/Language.cpp
Log Message:
-----------
[lldb][Language] Change GetFunctionDisplayName to take SymbolContext by reference (#135536)
Both the `CPlusPlusLanguage` plugins and the Swift language plugin
already assume the `sc != nullptr`. And all `FormatEntity` callsites of
`GetFunctionDisplayName` already check for nullptr before passing `sc`.
This patch makes this pre-condition explicit by changing the parameter
to `const SymbolContext &`. This will help with some upcoming changes in
this area.
Commit: 5710759eb390c0d5274c2a4d43967282d7df1993
https://github.com/llvm/llvm-project/commit/5710759eb390c0d5274c2a4d43967282d7df1993
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
MCAsmBackend,X86: Pass MCValue to fixupNeedsRelaxationAdvanced. NFC
This parameter eliminates a redundant computation for VK_ABS8 in X86 and
reduces reliance on shouldForceRelocation in relaxation decisions.
Note: `local: jmp local at plt` relaxes JMP. This behavior depends on
fixupNeedsRelaxation calling shouldForceRelocation, which might change
in the future.
Commit: 1e153b782ea3054c02dd0016314fca11a5d781da
https://github.com/llvm/llvm-project/commit/1e153b782ea3054c02dd0016314fca11a5d781da
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Symbol/SymbolContext.cpp
M lldb/test/API/functionalities/param_entry_vals/basic_entry_values/main.cpp
M lldb/test/API/functionalities/tail_call_frames/inlining_and_tail_calls/main.cpp
M lldb/test/Shell/Recognizer/verbose_trap-in-stl-max-depth.test
M lldb/test/Shell/Settings/TestFrameFormatName.test
Log Message:
-----------
[lldb][Format] Display only the inlined frame name in backtraces if available (#135343)
When a frame is inlined, LLDB will display its name in backtraces as
follows:
```
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.3
* frame #0: 0x0000000100000398 a.out`func() [inlined] baz(x=10) at inline.cpp:1:42
frame #1: 0x0000000100000398 a.out`func() [inlined] bar() at inline.cpp:2:37
frame #2: 0x0000000100000398 a.out`func() at inline.cpp:4:15
frame #3: 0x00000001000003c0 a.out`main at inline.cpp:7:5
frame #4: 0x000000026eb29ab8 dyld`start + 6812
```
The longer the names get the more confusing this gets because the first
function name that appears is the parent frame. My assumption (which may
need some more surveying) is that for the majority of cases we only care
about the actual frame name (not the parent). So this patch removes all
the special logic that prints the parent frame.
Another quirk of the current format is that the inlined frame name does
not abide by the `${function.name-XXX}` format variables. We always just
print the raw demangled name. With this patch, we would format the
inlined frame name according to the `frame-format` setting (see the
test-cases).
If we really want to have the `parentFrame [inlined] inlinedFrame`
format, we could expose it through a new `frame-format` variable (e..g.,
`${function.inlined-at-name}` and let the user decide where to place
things.
Commit: 634f9a981571eae000c1adc311014c5c64486187
https://github.com/llvm/llvm-project/commit/634f9a981571eae000c1adc311014c5c64486187
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
Log Message:
-----------
ARMAsmBackend: Use fixupNeedsRelaxationAdvanced. NFC
This prepares for the upcoming change to simplify relocation recording
in MCAssembler.
While both MCAssembler::fixupNeedsRelaxation and
MCAssembler::handleFixup call evaluateFixup and use
shouldForceRelocation, the shouldForceRelocation logic is not supposed
to be needed by MCAssembler::fixupNeedsRelaxation.
The ARM special cases for interworking branches
(https://reviews.llvm.org/D33436 and https://reviews.llvm.org/D33898)
break the assumption. Switch to fixupNeedsRelaxationAdvanced and
explicitly test the conditions.
Commit: af7a7ba4aadea3600e78a5f522b72e5413c8e595
https://github.com/llvm/llvm-project/commit/af7a7ba4aadea3600e78a5f522b72e5413c8e595
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M lldb/source/Core/FormatEntity.cpp
Log Message:
-----------
[lldb][Format][NFC] Factor FunctionNameWithArgs case out into helper function
Commit: 5d87ebf3ade73d43b2dc334e4d23bc86ddc47879
https://github.com/llvm/llvm-project/commit/5d87ebf3ade73d43b2dc334e4d23bc86ddc47879
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
[MC] Refactor fixup evaluation and relocation generation
Follow-up to commits 5710759eb390c0d5274c2a4d43967282d7df1993
and 634f9a981571eae000c1adc311014c5c64486187
- Integrate `evaluateFixup` into `recordRelocation` and inline code
within `MCAssembler::layout`, removing `handleFixup`.
- Update `fixupNeedsRelaxation` to bypass `shouldForceRelocation` when
calling `evaluateFixup`, eliminating the `WasForced` workaround for
RISC-V linker relaxation (https://reviews.llvm.org/D46350 ).
Commit: 20d35fe5a58c3d90613dd50ec91aca700e111726
https://github.com/llvm/llvm-project/commit/20d35fe5a58c3d90613dd50ec91aca700e111726
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/WindowScheduler.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/ObjectFormats.cpp
M llvm/lib/Target/NVPTX/NVPTXMachineFunctionInfo.h
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[llvm] Use llvm::is_contained (NFC) (#135566)
Commit: dc5178cc41d876b4e3d8ace9545f6e9898ef654b
https://github.com/llvm/llvm-project/commit/dc5178cc41d876b4e3d8ace9545f6e9898ef654b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/WinException.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
[CodeGen] Use llvm::append_range (NFC) (#135567)
Commit: f1ba4bb805b918bc464aa7232cb446cca10ef5a3
https://github.com/llvm/llvm-project/commit/f1ba4bb805b918bc464aa7232cb446cca10ef5a3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.h
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
Log Message:
-----------
[Target] Use llvm::append_range (NFC) (#135568)
Commit: 1f195afa57942db3f616e0595eb5816d1359dd2e
https://github.com/llvm/llvm-project/commit/1f195afa57942db3f616e0595eb5816d1359dd2e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[Sema] Use llvm::erase_if (NFC) (#135574)
Commit: ebba554a3211b0b98d3ae33ba70f9d6ceaab6ad4
https://github.com/llvm/llvm-project/commit/ebba554a3211b0b98d3ae33ba70f9d6ceaab6ad4
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/test/CodeGen/attr-target-x86.c
M llvm/lib/Target/X86/X86.td
M llvm/lib/TargetParser/X86TargetParser.cpp
Log Message:
-----------
[X86][AVX10] Remove VAES and VPCLMULQDQ feature from AVX10.1 (#135489)
According to SDM, they require both VAES/VPCLMULQDQ and AVX10.1 CPUID
bits.
Fixes: #135394
Commit: a32d4917c82840179a9ff5686567834922fc4e6d
https://github.com/llvm/llvm-project/commit/a32d4917c82840179a9ff5686567834922fc4e6d
Author: Jim Lin <jim at andestech.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Clean up the code for isBareSimmNLsb0. NFC.
Commit: 7778a197e65ad1b0cae794318870d41d8c59a3fb
https://github.com/llvm/llvm-project/commit/7778a197e65ad1b0cae794318870d41d8c59a3fb
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
Log Message:
-----------
[MC] Remove unused `MCAsmBackend::isMicroMips()` method (NFC) (#135581)
The only use was removed by 4c892770.
Commit: e038c5401c99ca1f19a873a5c88ad7db4645a26a
https://github.com/llvm/llvm-project/commit/e038c5401c99ca1f19a873a5c88ad7db4645a26a
Author: Tianle Liu <tianle.l.liu at intel.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
A llvm/test/Other/new-pm-lto-prelink-samplepgo-inline-threshold.ll
R llvm/test/Other/new-pm-thinlto-prelink-samplepgo-inline-threshold.ll
Log Message:
-----------
[LTO][Pipelines] Add 0 hot-caller threshold for SamplePGO + FullLTO (#135152)
If a hot callsite function is not inlined in the 1st build, inlining the
hot callsite in pre-link stage of SPGO 2nd build may lead to Function
Sample not found in profile file in link stage. It will miss some
profile info.
ThinLTO has already considered and dealed with it by setting
HotCallSiteThreshold to 0 to stop the inline. This patch just adds the
same processing for FullLTO.
Commit: 5ecc0ef6b01fe9dcca8fcaa8b306cd94c2239db4
https://github.com/llvm/llvm-project/commit/5ecc0ef6b01fe9dcca8fcaa8b306cd94c2239db4
Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/IR/EnumAttr.td
M mlir/include/mlir/IR/Properties.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/IR/enum-attr-invalid.mlir
M mlir/test/IR/enum-attr-roundtrip.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir] Improve EnumProp, making it take an EnumInfo (#132349)
This commit improves the `EnumProp` class, causing it to wrap around an
`EnumInfo` just like` EnumAttr` does. This EnumProp also has logic for
converting to/from an integer attribute and for being read and written
as bitcode.
The following variants of `EnumProp` are provided:
- `EnumPropWithAttrForm` - an EnumProp that can be constructed from (and
will be converted to, if `storeInCustomAttribute` is true) a custom
attribute, like an `EnumAttr`, instead of a plain integer. This is meant
for backwards compatibility with code that uses enum attributes.
`NamedEnumProp` adds a "`mnemonic` `<` $enum `>`" syntax around the
enum, replicating a common pattern seen in MLIR printers and allowing
for reduced ambiguity.
`NamedEnumPropWithAttrForm` combines both of these extensions.
(Sadly, bytecode auto-upgrade is hampered by the lack of the ability to
optionally parse an attribute.)
Depends on #132148
Commit: d0cf5cd5f9790dc21396936d076389c3be1a9599
https://github.com/llvm/llvm-project/commit/d0cf5cd5f9790dc21396936d076389c3be1a9599
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
Log Message:
-----------
[RISCV][NFC] Make generated intrinsic records more human-readable (#133710)
We add comment markers and print enum names instead of numbers.
For required extensions, we print the feature list instead of raw
bits.
Commit: 47cbc8706cb5d73f2db101165bf213d558f8b0cb
https://github.com/llvm/llvm-project/commit/47cbc8706cb5d73f2db101165bf213d558f8b0cb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
Log Message:
-----------
[Scalar] Avoid repeated hash lookups (NFC) (#135585)
Commit: 2ff226ae2c9bdafc686d698b69b4a8519213f325
https://github.com/llvm/llvm-project/commit/2ff226ae2c9bdafc686d698b69b4a8519213f325
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
MCAsmBackend,Hexagon: Remove MCRelaxableFragment from fixupNeedsRelaxationAdvanced
Among fixupNeedsRelaxationAdvanced (introduced by
https://reviews.llvm.org/D8217) targets, only Hexagon needs the
`MCRelaxableFragment` parameter (commit
86f218e7ec5d941b7785eaebcb8f4cad76db8a64) to get the instruction packet
(MCInst with sub-instruction operands).
As fixupNeedsRelaxationAdvanced follows mayNeedRelaxation, we can store
the MCInst in mayNeedRelaxation and eliminate the MCRelaxableFragment
parameter.
Follow-up to 7c83b7ef1796210451b839f4c58f2815f4aedfe5 that eliminates
the MCRelaxableFragment parameter from fixupNeedsRelaxation.
Commit: b283ff7eb1d7558594063528af7a94cfe2390e98
https://github.com/llvm/llvm-project/commit/b283ff7eb1d7558594063528af7a94cfe2390e98
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/BranchRelaxation.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/BranchRelaxation.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AArch64/branch-relax-block-size.mir
M llvm/test/CodeGen/AArch64/branch-relax-cross-section.mir
M llvm/test/CodeGen/AMDGPU/branch-relax-no-terminators.mir
Log Message:
-----------
[CodeGen][NPM] Port BranchRelaxation to NPM (#130067)
This completes the PreEmitPasses.
Commit: 21ff45dea1601d6d12438b5201ff09b8726899be
https://github.com/llvm/llvm-project/commit/21ff45dea1601d6d12438b5201ff09b8726899be
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
Log Message:
-----------
Revert "[RISCV][NFC] Make generated intrinsic records more human-readable (#133710)"
This reverts commit d0cf5cd5f9790dc21396936d076389c3be1a9599.
Error: "declaration of ‘clang::RISCV::RequiredExtensions
{anonymous}::SemaRecord::RequiredExtensions’ changes meaning of
‘RequiredExtensions’ [-fpermissive]"
Commit: e57f4e8969db32f075d8f3e554506ec8b187a2f1
https://github.com/llvm/llvm-project/commit/e57f4e8969db32f075d8f3e554506ec8b187a2f1
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
Log Message:
-----------
[RISCV][NFC] Make generated intrinsic records more human-readable (#133710)
We add comment markers and print enum names instead of numbers.
For required extensions, we print the feature list instead of raw
bits.
This recommits d0cf5cd which was reverted by 21ff45d.
Commit: 63e2963f4a24cb9365d1224e69f64bf643171023
https://github.com/llvm/llvm-project/commit/63e2963f4a24cb9365d1224e69f64bf643171023
Author: Michael Park <mcypark at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/relocatable-modules.cpp
Log Message:
-----------
Support '-fmodule-file-home-is-cwd' for C++ modules. (#135147)
Commit: a3f8359410eb7e14c4a52b47f36e433af40c05e9
https://github.com/llvm/llvm-project/commit/a3f8359410eb7e14c4a52b47f36e433af40c05e9
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M lldb/test/Shell/SymbolFile/NativePDB/inline_sites_live.cpp
Log Message:
-----------
[lldb][test] Fix NativePDB/inline_sites_live.cpp inlined frame format
Adjust after https://github.com/llvm/llvm-project/pull/135343
Commit: 58b5df09dc6f899016fc707bf937b36b36934b6d
https://github.com/llvm/llvm-project/commit/58b5df09dc6f899016fc707bf937b36b36934b6d
Author: YunQiang Su <syq at debian.org>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGen/builtin-maxnum-minnum.c
Log Message:
-----------
Clang: Add elementwise minnum/maxnum builtin functions (#129207)
With https://github.com/llvm/llvm-project/pull/112852, we claimed that
llvm.minnum and llvm.maxnum should treat +0.0>-0.0, while libc doesn't
require fmin(3)/fmax(3) for it.
To make llvm.minnum/llvm.maxnum easy to use, we define the builtin
functions for them, include
__builtin_elementwise_minnum
__builtin_elementwise_maxnum
All of them support _Float16, __bf16, float, double, long double.
Commit: 9df153bc146eab7e6c48d5083acb87a6d5c42394
https://github.com/llvm/llvm-project/commit/9df153bc146eab7e6c48d5083acb87a6d5c42394
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Remove unused requiresScalarEpilogue function. nfc (#135341)
Commit: ffd5b148941a1146378a247c70c4faface3a1f96
https://github.com/llvm/llvm-project/commit/ffd5b148941a1146378a247c70c4faface3a1f96
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse-output.ll
Log Message:
-----------
[LV] Add test cases for reverse accesses involving irregular types. nfc (#135139)
Add a test with irregular type to ensure the vector load/store
instructions are not generated.
Commit: e710a5a9f274162c63e32aa8d88f6a734759b4a5
https://github.com/llvm/llvm-project/commit/e710a5a9f274162c63e32aa8d88f6a734759b4a5
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/APFloat.h
M llvm/lib/Support/APFloat.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/fabs-as-int.ll
M llvm/test/Transforms/InstCombine/fneg-as-int.ll
M llvm/test/Transforms/InstCombine/fneg-fabs-as-int.ll
M llvm/unittests/ADT/APFloatTest.cpp
Log Message:
-----------
[InstCombine] Fold fneg/fabs patterns with ppc_f128 (#130557)
This patch is needed by
https://github.com/llvm/llvm-project/pull/130496.
Commit: 1380a8259e5937d7e871c7a754bbf8a662aaa4da
https://github.com/llvm/llvm-project/commit/1380a8259e5937d7e871c7a754bbf8a662aaa4da
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
Log Message:
-----------
[AMDGPU] Use llvm::find and llvm::find_if (NFC) (#135582)
Commit: 893cd69872ca8e7be8010699aac32c5678a0e2a6
https://github.com/llvm/llvm-project/commit/893cd69872ca8e7be8010699aac32c5678a0e2a6
Author: Shao-Ce SUN <sunshaoce at outlook.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
A llvm/test/CodeGen/RISCV/emit-x8-as-fp.ll
A llvm/test/MC/Disassembler/RISCV/emit-x8-as-fp.txt
A llvm/test/MC/RISCV/emit-x8-as-fp.s
Log Message:
-----------
[RISCV][MC] Emit `x8` as `fp` instead of `s0` (#135500)
When emphasizing `X8`'s functionality related to Frame Pointer, this option can be passed.
Commit: 150e7b14f9474bc4d6891faaae4de6b8c5f6c797
https://github.com/llvm/llvm-project/commit/150e7b14f9474bc4d6891faaae4de6b8c5f6c797
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
A llvm/test/CodeGen/X86/pr134602.ll
Log Message:
-----------
[X86] Add test coverage for #134602
Commit: cf188d650ce26b4ee3e11101d844361fca15ba64
https://github.com/llvm/llvm-project/commit/cf188d650ce26b4ee3e11101d844361fca15ba64
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
A llvm/test/CodeGen/AMDGPU/promote-alloca-non-byte-sizes.ll
Log Message:
-----------
[AMDGPU] Avoid crashes for non-byte-sized types in PromoteAlloca (#134042)
This patch addresses three problems when promoting allocas to vectors:
- Element types with size < 1 byte in allocas with a vector type caused
divisions by zero.
- Element types whose size doesn't match their AllocSize hit an assertion.
- Access types whose size doesn't match their AllocSize hit an assertion.
With this patch, we do not attempt to promote affected allocas to vectors. In
principle, we could handle these cases in PromoteAlloca, e.g., by truncating
and extending elements from/to their allocation size. It's however unclear if
we ever encounter such cases in practice, so that doesn't seem worth the added
complexity.
For SWDEV-511252
Commit: 53cd5cfc675dad1bf6bc820a72e0eaa72a8909e7
https://github.com/llvm/llvm-project/commit/53cd5cfc675dad1bf6bc820a72e0eaa72a8909e7
Author: Jack Styles <jack.styles at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
A clang/test/Driver/arm-fpu-selection.s
A clang/test/Driver/armv7-default-neon.s
A clang/test/Driver/armv7s-default-vfpv4.s
M clang/test/Driver/armv8.1m.main.s
Log Message:
-----------
[Clang][ARM] Ensure FPU Features are parsed when targeting `cc1as` (#134612)
Previously, `cc1as` did not consider the Features that can be included
from a target's FPU. This could lead to a situation where assembly files
could not compile as cc1as did not know if a feature was supported.
With this change, all the features for the FPU will be passed to `cc1as`
as `-target-feature` lines. By making this change, it will enable
`+nosimd` to be functional, worked on in #130623, and fix a regression
introduced in 8fa0f0efce5fb81eb422e6d7eec74c66dafef4a3 so
armv7s-apple-darwin targets can utilise VFPv4 correctly.
---------
Co-authored-by: Martin Storsjö <martin at martin.st>
Commit: 1df4af6cbcc3bda86fa76b9aba01424ab39077a4
https://github.com/llvm/llvm-project/commit/1df4af6cbcc3bda86fa76b9aba01424ab39077a4
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
A llvm/test/CodeGen/AArch64/aarch64-sve-fill-spill-pair.ll
A llvm/test/CodeGen/AArch64/sve-vls-ldst-opt.mir
Log Message:
-----------
Reapply "[AArch64][SVE] Pair SVE fill/spill into LDP/STP with -msve-vector-bits=128." (#135177)
Reapplies #134068.
The first patch was missing a check to prevent attempts to pair SVE
fill/spill with other Neon load/store instructions, which could happen
specifically if the Neon instruction was unscaled.
Commit: ed96e4642c76fa199cc427129e6d03fba301a301
https://github.com/llvm/llvm-project/commit/ed96e4642c76fa199cc427129e6d03fba301a301
Author: Matthias Braun <matze at braunis.de>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/test/CodeGen/AArch64/peephole-orr.mir
Log Message:
-----------
AArch64: Allow ZEXT+COPY -> FMOV peephole for ZPR registers as well (#135436)
Commit: e29f986838bcd0ff60cf33e7ae5ee867bad0de00
https://github.com/llvm/llvm-project/commit/e29f986838bcd0ff60cf33e7ae5ee867bad0de00
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/RemoveLoadsIntoFakeUses.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/RemoveLoadsIntoFakeUses.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/X86/fake-use-remove-loads.mir
Log Message:
-----------
[CodeGen][NPM] Port RemoveLoadsIntoFakeUses to NPM (#130068)
Commit: 51fe5d2c314619796c29af6bd717c5c212faa811
https://github.com/llvm/llvm-project/commit/51fe5d2c314619796c29af6bd717c5c212faa811
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/array.ll
Log Message:
-----------
[InstCombine] Pre-commit tests related to ADDLIKE+GEP->GEP+GEP. NFC (#135154)
InstCombine can transform ADD+GEP into GEP+GEP. But those rewrites does
not currently trigger when the ADD is a disjoint OR (which happens to be
the canonical form for certain ADD operations). Add lit tests to show
that we are lacking such rewrites.
Also add a test case showing that we do not preserve "inbounds nuw",
"nusw nuw" and "nuw" when doing such transforms and the ADD/OR is
known to be NUW.
Commit: 97bc9137e545423334b00d60ab64855ccc434c3a
https://github.com/llvm/llvm-project/commit/97bc9137e545423334b00d60ab64855ccc434c3a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github][CI] Upload artifacts directory for premerge workflow
The premerge pipeline currently creates an artifacts directory with some
statistics that gets uploaded on the buildkite side for later
inspection. This patch adds support for this on the Github side by using
the upload artifacts action.
Reviewers: Keenuts, lnihlen, mizvekov, tstellar, Endilll
Reviewed By: mizvekov
Pull Request: https://github.com/llvm/llvm-project/pull/135538
Commit: ebd1667059e7b2865a8e419a21df4d4c9735869c
https://github.com/llvm/llvm-project/commit/ebd1667059e7b2865a8e419a21df4d4c9735869c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#135584)
Commit: d792094c26dc6b40136f1e6c2e393c041062e371
https://github.com/llvm/llvm-project/commit/d792094c26dc6b40136f1e6c2e393c041062e371
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M lldb/include/lldb/Host/ProcessRunLock.h
M lldb/source/Host/common/ProcessRunLock.cpp
M lldb/source/Host/windows/ProcessRunLock.cpp
M lldb/source/Target/Process.cpp
Log Message:
-----------
[lldb] Remove ProcessRunLock::TrySetRunning (#135455)
I traced the issue reported by Caroline and Pavel in #134757 back to the
call to ProcessRunLock::TrySetRunning. When that fails, we get a
somewhat misleading error message:
> process resume at entry point failed: Resume request failed - process
still running.
This is incorrect: the problem was not that the process was in a running
state, but rather that the RunLock was being held by another thread
(i.e. the Statusline). TrySetRunning would return false in both cases
and the call site only accounted for the former.
Besides the odd semantics, the current implementation is inherently
race-y and I believe incorrect. If someone is holding the RunLock, the
resume call should block, rather than give up, and with the lock held,
switch the running state and report the old running state.
This patch removes ProcessRunLock::TrySetRunning and updates all callers
to use ProcessRunLock::SetRunning instead. To support that,
ProcessRunLock::SetRunning (and ProcessRunLock::SetStopped, for
consistency) now report whether the process was stopped or running
respectively. Previously, both methods returned true unconditionally.
The old code has been around pretty much pretty much forever, there's
nothing in the git history to indicate that this was done purposely to
solve a particular issue. I've tested this on both Linux and macOS and
confirmed that this solves the statusline issue.
A big thank you to Jim for reviewing my proposed solution offline and
trying to poke holes in it.
Commit: 73b554d7a0a666e252f3c837510a55ee1acb1df5
https://github.com/llvm/llvm-project/commit/73b554d7a0a666e252f3c837510a55ee1acb1df5
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M lldb/source/Core/Statusline.cpp
Log Message:
-----------
[lldb] Make sure the process is stopped when computing the symbol context (#135458)
Make sure the process is stopped when computing the symbol context. Both
Adrian and Felipe reported a handful of crashes in GetSymbolContext
called from Statusline::Redraw on the default event thread.
Given that we're handling a StackFrameSP, it's not clear to me how that
could have gotten invalidated, but Jim points out that it doesn't make
sense to compute the symbol context for the frame when the process isn't
stopped.
Depends on #135455
Commit: 931a78a1db3da210a1ed5681778e37fa011cdf23
https://github.com/llvm/llvm-project/commit/931a78a1db3da210a1ed5681778e37fa011cdf23
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-trunc-sext.mir
Log Message:
-----------
[AMDGPU] Add sext_trunc in RegBankCombiner (#131623)
Commit: 95d526f7f587cc7a3db785169967f8dad0ba3978
https://github.com/llvm/llvm-project/commit/95d526f7f587cc7a3db785169967f8dad0ba3978
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Log Message:
-----------
[MLIR][Tosa] Fix argmax NaN propagate lowering (#133074)
In the propagate mode, NaN compare equal to each other so in case of
several NaNs the index of the first one needs to be returned. This
commit changes the index update condition to check that the current
index is not that of a NaN.
The commit also simplifies argmax NaN ignore lowering to only use OGT.
This prevent any update in case of NaN. The only case where the index of
a NaN is returned is when all values are NaN and this is covered by the
fact that the initial index value is 0 so no update will result in 0
being returned.
Commit: bcd7f54d340c54630a63659e439540891f7efb09
https://github.com/llvm/llvm-project/commit/bcd7f54d340c54630a63659e439540891f7efb09
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M .mailmap
Log Message:
-----------
[mailmap] Update my name
Commit: 29555ad5efea20308c7a5ee851a4cba9093a607d
https://github.com/llvm/llvm-project/commit/29555ad5efea20308c7a5ee851a4cba9093a607d
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/array.ll
Log Message:
-----------
[InstCombine] Improve inbounds preservation for ADD+GEP -> GEP+GEP (#135155)
Given that we have a "add nuw" and a "getelementptr inbounds nuw" like
this:
%idx = add nuw i64 %idx1, %idx2
%gep = getelementptr inbounds nuw i32, ptr %ptr, i64 %idx
Then we can preserve the "inbounds nuw" flag when transforming that into
two getelementptr instructions:
%gep1 = getelementptr inbounds nuw i32, ptr %ptr, i64 %idx1
%gep = getelementptr inbounds nuw i32, ptr %ptr, i64 %idx2
Similarly for just having "nuw", and "nusw nuw" instead of "inbounds nuw"
on the getelementptr.
Proof: https://alive2.llvm.org/ce/z/QSweWW
Commit: dffef041d568e945efbd78c8eb1a3881b67cd405
https://github.com/llvm/llvm-project/commit/dffef041d568e945efbd78c8eb1a3881b67cd405
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/IR/Type.h
M llvm/include/llvm/SandboxIR/Type.h
M llvm/lib/IR/Type.cpp
M llvm/unittests/SandboxIR/TypesTest.cpp
Log Message:
-----------
[IR][ADT] Remove `APFloat/Type::isIEEE` (#130496)
Address comment
https://github.com/llvm/llvm-project/pull/130477#issuecomment-2708801892.
Commit: cbda72a5474112e6bc62d5c5978ada7581e80dad
https://github.com/llvm/llvm-project/commit/cbda72a5474112e6bc62d5c5978ada7581e80dad
Author: Wenju He <wenju.he at intel.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
R libclc/generic/include/clc/atom_decl_int32.inc
R libclc/generic/include/clc/atom_decl_int64.inc
A libclc/generic/include/clc/atomic/atom_add.h
A libclc/generic/include/clc/atomic/atom_and.h
A libclc/generic/include/clc/atomic/atom_cmpxchg.h
A libclc/generic/include/clc/atomic/atom_dec.h
A libclc/generic/include/clc/atomic/atom_decl_int32.inc
A libclc/generic/include/clc/atomic/atom_decl_int64.inc
A libclc/generic/include/clc/atomic/atom_inc.h
A libclc/generic/include/clc/atomic/atom_max.h
A libclc/generic/include/clc/atomic/atom_min.h
A libclc/generic/include/clc/atomic/atom_or.h
A libclc/generic/include/clc/atomic/atom_sub.h
A libclc/generic/include/clc/atomic/atom_xchg.h
A libclc/generic/include/clc/atomic/atom_xor.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_add.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_cmpxchg.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_dec.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_inc.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_sub.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_xchg.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_and.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_max.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_min.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_or.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_xor.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_add.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_cmpxchg.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_dec.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_inc.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_sub.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_xchg.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_and.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_max.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_min.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_or.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_xor.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_add.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_cmpxchg.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_dec.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_inc.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_sub.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_xchg.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_and.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_max.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_min.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_or.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_xor.h
M libclc/generic/include/clc/clc.h
M libclc/generic/lib/SOURCES
R libclc/generic/lib/atom_int32_binary.inc
A libclc/generic/lib/atomic/atom_add.cl
A libclc/generic/lib/atomic/atom_and.cl
A libclc/generic/lib/atomic/atom_cmpxchg.cl
A libclc/generic/lib/atomic/atom_dec.cl
A libclc/generic/lib/atomic/atom_inc.cl
A libclc/generic/lib/atomic/atom_int32_binary.inc
A libclc/generic/lib/atomic/atom_max.cl
A libclc/generic/lib/atomic/atom_min.cl
A libclc/generic/lib/atomic/atom_or.cl
A libclc/generic/lib/atomic/atom_sub.cl
A libclc/generic/lib/atomic/atom_xchg.cl
A libclc/generic/lib/atomic/atom_xor.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_add.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_cmpxchg.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_dec.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_inc.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_sub.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_xchg.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_and.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_max.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_min.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_or.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_xor.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_add.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_cmpxchg.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_dec.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_inc.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_sub.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_xchg.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_and.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_max.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_min.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_or.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_xor.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_add.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_cmpxchg.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_dec.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_inc.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_sub.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_xchg.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_and.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_max.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_min.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_or.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_xor.cl
Log Message:
-----------
[NFC][libclc] Merge atomic extension built-ins with identical name into a single file (#134489)
llvm-diff shows there is no change to amdgcn--amdhsa.bc.
Similar to how cl_khr_fp64 and cl_khr_fp16 implementations are put in a
same file for math built-ins, this PR do the same to atom_* built-ins.
The main motivation is to prevent that two files with same base name
implementats different built-ins. In a follow-up PR, I'd like to relax
libclc_configure_lib_source to only compare filename instead of path for
overriding, since in our downstream the same category of built-ins, e.g.
math, are organized in several different folders.
Commit: 77341388a77b1442b3a54d745fc269dabb175f0c
https://github.com/llvm/llvm-project/commit/77341388a77b1442b3a54d745fc269dabb175f0c
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[mlir][OpenMP] allow cancellation to not be directly nested (#134084)
omp.cancel and omp.cancellationpoint contain an attribute describing the
type of parent construct which should be cancelled. e.g.
```
!$omp cancel do
```
Must be inside of a wsloop. Previously the verifer required the
immediate parent to be this operation. This is not quite right because
something like the following is valid:
```
!$omp parallel do
do i = 1, N
if (cond) then
!$omp cancel do
endif
enddo
```
This patch relaxes the verifier to only require that some parent
operation matches (not necessarily the immediate parent).
Commit: c9eebc7af440dc012c94d25351eaba92e6a57910
https://github.com/llvm/llvm-project/commit/c9eebc7af440dc012c94d25351eaba92e6a57910
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-redundant-sext-inreg.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-sext-trunc-sextinreg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.abs.ll
Log Message:
-----------
[GlobalISel] Combine redundant sext_inreg (#131624)
Commit: a9474191e059edbb9b25c769afbe52c7a823f359
https://github.com/llvm/llvm-project/commit/a9474191e059edbb9b25c769afbe52c7a823f359
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/Transforms/SROA/non-capturing-call-readonly.ll
M llvm/test/Transforms/SROA/readonlynocapture.ll
Log Message:
-----------
[SROA] Improve handling of lifetimes in load-only promotion (#135382)
The propagateStoredValuesToLoads() transform currently bails out if
there is a lifetime intrinsic spanning the whole alloca, but the
individual loads/stores operate on some smaller part, because the slice
/ partition size does not match.
Fix this by ignoring assume-like slices early, regardless of which range
they cover.
I've changed the overall code structure here a bit because I was getting
confused by the different iterators.
Commit: 1e2dc5b0873d990473bba4a52d5085a805f56845
https://github.com/llvm/llvm-project/commit/1e2dc5b0873d990473bba4a52d5085a805f56845
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/test/Transforms/SROA/readonlynocapture.ll
Log Message:
-----------
[SROA] Add load-only promotion tests with dynamic offset load
Commit: e4a672bc17a2a7dc39e51c9f5e656d705312a12b
https://github.com/llvm/llvm-project/commit/e4a672bc17a2a7dc39e51c9f5e656d705312a12b
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/Mangled.h
M lldb/include/lldb/Core/RichManglingContext.h
M lldb/include/lldb/Target/Language.h
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/Mangled.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/RichManglingContext.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/unittests/Core/CMakeLists.txt
M lldb/unittests/Core/RichManglingContextTest.cpp
M lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp
M lldb/unittests/Language/ObjC/ObjCLanguageTest.cpp
Log Message:
-----------
[LLDB] Reapply refactored CPlusPlusLanguage::MethodName to break lldb-server dependencies (#135033)
The original PR is #132274.
Co-authored-by: @bulbazord Alex Langford
Commit: 90c01f4bad3132fcff4a73fb39efb64fe4c524b6
https://github.com/llvm/llvm-project/commit/90c01f4bad3132fcff4a73fb39efb64fe4c524b6
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[RISCV] Add missing bitmask for some extensions (#135599)
According to:
https://github.com/riscv-non-isa/riscv-c-api-doc/blob/main/src/c-api.adoc#extension-bitmask-definitions
And we sort the bitmask by group id and then bit position.
Commit: 123993fd974629ca0a094918db4c21ad1c2624d0
https://github.com/llvm/llvm-project/commit/123993fd974629ca0a094918db4c21ad1c2624d0
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
A llvm/test/Transforms/SLPVectorizer/X86/BinOpSameOpcodeHelper.ll
M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
M llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
A llvm/test/Transforms/SLPVectorizer/isOpcodeOrAlt.ll
M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll
Log Message:
-----------
[SLP] Make getSameOpcode support interchangeable instructions. (#133888)
We use the term "interchangeable instructions" to refer to different
operators that have the same meaning (e.g., `add x, 0` is equivalent to
`mul x, 1`).
Non-constant values are not supported, as they may incur high costs with
little benefit.
---------
Co-authored-by: Alexey Bataev <a.bataev at gmx.com>
Commit: e8e98683d70b81802659fa31b458ce3251971248
https://github.com/llvm/llvm-project/commit/e8e98683d70b81802659fa31b458ce3251971248
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/TargetParser/RISCVTargetParser.h
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/TargetParser/RISCVTargetParser.cpp
Log Message:
-----------
[RISCV][NFC] Use bitmasks generated by TableGen
So that we don't need to sync-up the table manually.
Reviewers: BeMg, preames, lenary
Reviewed By: BeMg
Pull Request: https://github.com/llvm/llvm-project/pull/135600
Commit: 1c04ebbbb5aff6da50aa62f08b2453e741484b85
https://github.com/llvm/llvm-project/commit/1c04ebbbb5aff6da50aa62f08b2453e741484b85
Author: Aaron Puchert <aaron.puchert at sap.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/utils/LLVMVisualizers/llvm.natvis
M llvm/utils/gdb-scripts/prettyprinters.py
M llvm/utils/lldbDataFormatters.py
Log Message:
-----------
Remove debugger pretty printers for llvm::Optional (#135235)
Since 2916b99182752b1aece8cc4479d8d6a20b5e02da this is just an alias to
std::optional, and by now it has been removed entirely.
Commit: 14cb8c56b26784c684865053a6deb066f9a5e5b5
https://github.com/llvm/llvm-project/commit/14cb8c56b26784c684865053a6deb066f9a5e5b5
Author: dlav-sc <daniil.avdeev at syntacore.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/Support/Endian.h
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
Log Message:
-----------
[lldb] add required for lldb RISCV relocations in MCJIT (#126266)
After implementing CFI instructions in the function prologue, LLDB
testing for RISC-V started failing due to insufficient relocations
(e.g., R_RISCV_SET8, R_RISCV_SET16).
This patch adds support for the necessary RISC-V relocations in MCJIT.
Commit: fe54d1afcca055f464840654dd2ec3fd83aea688
https://github.com/llvm/llvm-project/commit/fe54d1afcca055f464840654dd2ec3fd83aea688
Author: Iris <0.0 at owo.li>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
A llvm/test/Transforms/ConstraintElimination/uadd-usub-sat.ll
Log Message:
-----------
[ConstraintElim] Simplify cmp after uadd.sat/usub.sat (#135603)
- Closes #135557
Commit: 88d0b0835d030635c5d08c9a9754c21b5ac00be9
https://github.com/llvm/llvm-project/commit/88d0b0835d030635c5d08c9a9754c21b5ac00be9
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/VTableBuilder.h
M clang/include/clang/Basic/ABI.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/CodeGenCXX/debug-info-windows-dtor.cpp
M clang/test/CodeGenCXX/dllexport.cpp
M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
R clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/vtable-consteval.cpp
M clang/test/Modules/vtable-windows.cppm
M clang/test/Profile/cxx-abc-deleting-dtor.cpp
R clang/test/SemaCXX/gh134265.cpp
Log Message:
-----------
[MS][clang] Revert vector deleting destructors support (#135611)
Finding operator delete[] is still problematic, without it the extension
is a security hazard, so reverting until the problem with operator
delete[] is figured out.
This reverts the following PRs:
Reland [MS][clang] Add support for vector deleting destructors (llvm#133451)
[MS][clang] Make sure vector deleting dtor calls correct operator delete (llvm#133950)
[MS][clang] Fix crash on deletion of array of pointers (llvm#134088)
[clang] Do not diagnose unused deleted operator delete[] (llvm#134357)
[MS][clang] Error about ambiguous operator delete[] only when required (llvm#135041)
Commit: cbbf562d1c2a076de83d50fedfee78acfb4d8003
https://github.com/llvm/llvm-project/commit/cbbf562d1c2a076de83d50fedfee78acfb4d8003
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/FormatEntity.h
M lldb/source/Core/FormatEntity.cpp
Log Message:
-----------
[lldb][Format][NFC] Remove unused FormatEntity::FormatCString
One can use `FormatStringRef` instead anyway
Commit: 0078cf79adc2f24a168bc774cba1f39dda5e3752
https://github.com/llvm/llvm-project/commit/0078cf79adc2f24a168bc774cba1f39dda5e3752
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/docs/DeclarativeRewrites.md
M mlir/docs/DefiningDialects/Operations.md
M mlir/docs/DefiningDialects/_index.md
M mlir/docs/Diagnostics.md
M mlir/docs/Interfaces.md
M mlir/docs/PDLL.md
M mlir/docs/Tutorials/QuickstartRewrites.md
M mlir/docs/Tutorials/Toy/Ch-5.md
M mlir/docs/Tutorials/Toy/Ch-7.md
M mlir/docs/Tutorials/UnderstandingTheIRStructure.md
M mlir/docs/Tutorials/transform/Ch4.md
M mlir/examples/transform-opt/mlir-transform-opt.cpp
M mlir/include/mlir/IR/AffineExpr.h
M mlir/include/mlir/IR/Attributes.h
M mlir/include/mlir/IR/ExtensibleDialect.h
M mlir/include/mlir/IR/Location.h
M mlir/include/mlir/IR/Types.h
M mlir/include/mlir/IR/Value.h
M mlir/include/mlir/Tools/PDLL/AST/Types.h
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
M mlir/lib/Dialect/Transform/Transforms/TransformInterpreterUtils.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/IR/AffineMap.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/unittests/IR/SymbolTableTest.cpp
Log Message:
-----------
[mlir] Remove deprecated cast member functions (#135556)
These have been deprecated for over two years now in favor of free
functions.
See the relevant discourse thread:
https://discourse.llvm.org/t/preferred-casting-style-going-forward/68443
and the deprecation notice: https://mlir.llvm.org/deprecation/.
Commit: 0c21d6b4c8ad7310b0cd81bbefa06b2947b671f9
https://github.com/llvm/llvm-project/commit/0c21d6b4c8ad7310b0cd81bbefa06b2947b671f9
Author: Wenju He <wenju.he at intel.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Fix commands in compile_to_bc are executed sequentially (#130755)
In libclc, we observe that compiling OpenCL source files to bitcode is
executed sequentially on Windows, which increases debug build time by
about an hour.
add_custom_command may introduce additional implicit dependencies, see
https://gitlab.kitware.com/cmake/cmake/-/issues/17097
This PR adds a target for each command, enabling parallel builds of
OpenCL source files.
CMake 3.27 has fixed above issue with DEPENDS_EXPLICIT_ONLY. When LLVM
upgrades cmake vertion to 3.7, we can switch to DEPENDS_EXPLICIT_ONLY.
Commit: 4eaf3a7596fb335edfa36368c2851a256b6e8d75
https://github.com/llvm/llvm-project/commit/4eaf3a7596fb335edfa36368c2851a256b6e8d75
Author: SivanShani-Arm <sivan.shani at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Support/ELFAttrParserExtended.cpp
A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-long.s
A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-short.s
A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-type.s
A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-values.s
A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-ver.s
Log Message:
-----------
[readobj][ELF][AArch64] Handle misformed AArch64 build attribute section (#134888)
Report an error when the .ARM.attributes section for AArch64 is
malformed or violates expected format.
Commit: 4cb1803ff9d052f1b75d90d5be87345e54aebf92
https://github.com/llvm/llvm-project/commit/4cb1803ff9d052f1b75d90d5be87345e54aebf92
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc][NFC] Fix typo in comment
Commit: 10a15024212fe9ac06adad7daad2c1bb510a612c
https://github.com/llvm/llvm-project/commit/10a15024212fe9ac06adad7daad2c1bb510a612c
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/AST/ast-dump-array.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
Log Message:
-----------
[clang] AST: remove source locations from [Variable/Dependent]SizedArrayType (#135511)
Commit: efe9cb0f79a074ab472ec51d8463aac6931d670a
https://github.com/llvm/llvm-project/commit/efe9cb0f79a074ab472ec51d8463aac6931d670a
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/test/CodeGen/AArch64/sme-intrinsics-mova-extract.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-extract-mova.ll
Log Message:
-----------
[AArch64] Model ZA array using inaccessible memory (#132058)
This patch changes how ZA array is modelled at LLVM-IR level. Currently
accesses to ZA are represented at LLVM-IR level as memory reads and
writes and at instruction level as unmodeled side-effects. This patch
changes that and models them as purely Inaccessible memory accesses
without any unmodeled side-effects.
Commit: 74e8f29f3138431abc9b393579733f3bbd0d85d8
https://github.com/llvm/llvm-project/commit/74e8f29f3138431abc9b393579733f3bbd0d85d8
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/CalcSpillWeights.cpp
M llvm/test/CodeGen/AArch64/aarch64-signedreturnaddress.ll
A llvm/test/CodeGen/AArch64/csr-copy-hint.mir
M llvm/test/CodeGen/AArch64/ptrauth-ret.ll
M llvm/test/CodeGen/AVR/calling-conv/c/basic_aggr.ll
M llvm/test/CodeGen/AVR/calling-conv/c/stack.ll
M llvm/test/CodeGen/AVR/dynalloca.ll
M llvm/test/CodeGen/AVR/return.ll
M llvm/test/CodeGen/SPARC/2011-01-19-DelaySlot.ll
M llvm/test/CodeGen/SPARC/32abi.ll
M llvm/test/CodeGen/SPARC/64abi.ll
M llvm/test/CodeGen/SPARC/bigreturn.ll
M llvm/test/CodeGen/SPARC/fmuladd-soft-float.ll
M llvm/test/CodeGen/SPARC/leafproc.ll
M llvm/test/CodeGen/SPARC/parts.ll
M llvm/test/CodeGen/SPARC/tailcall.ll
M llvm/test/CodeGen/SPARC/umulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/X86/base-pointer-and-mwaitx.ll
M llvm/test/CodeGen/X86/ghc-cc64.ll
M llvm/test/CodeGen/X86/mwaitx.ll
Log Message:
-----------
[RegAlloc] Sort CopyHint by IsCSR (#131046)
`weightCalcHelper` is responsible for adding hints to MRI. Prior to this
PR, we fell back on register ID as the last tie breaker for sorting
hints. However, there is an opportunity to add an additional sorting
characteristic: whether or not a register is a callee-saved-register.
I thought of this idea because I saw that `AllocationOrder::create`
calls `RegisterClassInfo::getOrder`, which returns a list of registers
such that the registers which alias callee-saved-registers come last.
>From this, I conclude that the register allocator prefers an order such
that callee-saved-registers are allocated after
non-callee-saved-registers to avoid having to spill the CSR.
This sorting characteristic occurs only as a tie breaker to the Weight
calculation. This is a good idea since the weight calculation is pretty
complex and I'm sure it is a pretty stable metric. I think its pretty
reasonable to agree that whether a register is callee-saved or not is a
better tie breaker than register ID. I think this is evident by the test
diff, since the changes all seem to have no impact or improve the
register allocation.
Commit: bcbdbd25c0a2608299a4e97f12076be06a64d724
https://github.com/llvm/llvm-project/commit/bcbdbd25c0a2608299a4e97f12076be06a64d724
Author: SivanShani-Arm <sivan.shani at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/Support/ELFAttributes.h
Log Message:
-----------
[llvm][ELF][build attributes] Change StringRef to std::string for BuildAttributeSubSection::Name (#135625)
BuildAttributeSubSection::Name must be a std::string instead of
StringRef because it may be assigned from non-persistent memory.
StringRef is non-owning and unsafe in this context. This change ensures
the subsection name owns its memory, preventing use-after-free or
dangling references.
Context: Work in progress in PR #131990.
Commit: dbeb7c1bbbc90f3d556b9d010d7899311cfc62d6
https://github.com/llvm/llvm-project/commit/dbeb7c1bbbc90f3d556b9d010d7899311cfc62d6
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[Github][CI] Upload .ninja_log as an artifact
This enables using tools like https://github.com/nico/ninjatracing for
performance introspection.
Reviewers: mizvekov, lnihlen, tstellar, Endilll, Keenuts
Reviewed By: Keenuts
Pull Request: https://github.com/llvm/llvm-project/pull/135539
Commit: 40727bca9fa4c5c9a3c12ce47ee09efcd3f26761
https://github.com/llvm/llvm-project/commit/40727bca9fa4c5c9a3c12ce47ee09efcd3f26761
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[clang] remove unused frontend flag -fretain-subst-template-type-parm-type-ast-nodes (#134177)
This is a follow-up to #132748, where we deferred the flag removal in
order to ease transition for external users.
The plan is to merge this in the nearish future, in two weeks or so is
my best guess.
Commit: a485abbddda7997177b1b56f4dc8e9c069ae4d9a
https://github.com/llvm/llvm-project/commit/a485abbddda7997177b1b56f4dc8e9c069ae4d9a
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/test/Driver/do_concurrent_to_omp_cli.f90
Log Message:
-----------
[flang] Fix Driver/do_concurrent_to_omp_cli.f90 test not to use runtime (#135485)
Fix Flang invocation in `Driver/do_concurrent_to_omp_cli.f90` test to
run compilation step only, to fix testing when building with
`-DFLANG_INCLUDE_RUNTIME=OFF`. The test is only concerned with warning
being emitted by the compiler, so there is no need to link the resulting
executable.
Commit: 092b6e73e651469527662443b592f98f442ece72
https://github.com/llvm/llvm-project/commit/092b6e73e651469527662443b592f98f442ece72
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/array.ll
M llvm/test/Transforms/InstCombine/gep-merge-constant-indices.ll
M llvm/test/Transforms/InstCombine/gep-vector.ll
M llvm/test/Transforms/InstCombine/vscale_gep.ll
M llvm/test/Transforms/LoopUnroll/runtime-multiexit-heuristic.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/X86/interleaving.ll
M llvm/test/Transforms/LoopVectorize/X86/parallel-loops.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
Log Message:
-----------
[InstCombine] Handle "add like" in ADD+GEP->GEP+GEP rewrites (#135156)
Considering that "or disjoint" is the canonical for certain add
operations, then I think we want to support such "add like" operations
when doing ADD+GEP->GEP+GEP rewrites to make things more consistent.
Problem was found when improving ValueTracking, which turned an ADD into
OR, and then suddenly optimizations got worse due to these rewrites no
longer triggering.
Commit: b2c9a58b8f28b353b3f0b4ef98fa704c463ba1a4
https://github.com/llvm/llvm-project/commit/b2c9a58b8f28b353b3f0b4ef98fa704c463ba1a4
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
A flang/test/Lower/OpenMP/optional-argument-map.f90
A offload/test/offloading/fortran/optional-mapped-arguments.f90
Log Message:
-----------
[Flang][OpenMP][MLIR] Check for presence of Box type before emitting store in MapInfoFinalization pass (#135477)
Currently we don't check for the presence of descriptor/BoxTypes before
emitting stores which lower to memcpys, the issue with this is that
users can have optional arguments, where they don't provide an input,
making the argument effectively null. This can still be mapped and this
causes issues at the moment as we'll emit a memcpy for function
arguments to store to a local variable for certain edge cases, when we
perform this memcpy on a null input, we cause a segfault at runtime.
The fix to this is to simply create a branch around the store that
checks if the data we're copying from is actually present. If it is, we
proceed with the store, if it isn't we skip it.
Commit: f133eae70c8b9f4e70372443b79995c5f39727f0
https://github.com/llvm/llvm-project/commit/f133eae70c8b9f4e70372443b79995c5f39727f0
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/SanitizerBinaryMetadata.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/SanitizerBinaryMetadata.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/tools/llc/new-pm/pipeline.ll
Log Message:
-----------
[CodeGen][NPM] Port MachineSanitizerBinaryMetadata to NPM (#130069)
Didn't find a test for this (but there are tests for the `Function`
version of this pass)
Commit: 44e32a263a7a696e17f8785108e89e1cb1cbd850
https://github.com/llvm/llvm-project/commit/44e32a263a7a696e17f8785108e89e1cb1cbd850
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/test/Verifier/AMDGPU/intrinsic-immarg.ll
M llvm/test/Verifier/SystemZ/intrinsic-immarg.ll
M llvm/test/Verifier/intrinsic-immarg.ll
Log Message:
-----------
[Verifier] Fix intrinsic signatures in immarg tests (NFC)
Commit: 2d30a60e9ff8b22f7e07ca5360fe1582f96be1ac
https://github.com/llvm/llvm-project/commit/2d30a60e9ff8b22f7e07ca5360fe1582f96be1ac
Author: John Harrison <harjohn at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
A lldb/test/API/tools/lldb-dap/cancel/Makefile
A lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
A lldb/test/API/tools/lldb-dap/cancel/main.c
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
A lldb/tools/lldb-dap/Handler/CancelRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Transport.cpp
M lldb/tools/lldb-dap/Transport.h
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Adding support for cancelling a request. (#130169)
Adding support for cancelling requests.
There are two forms of request cancellation.
* Preemptively cancelling a request that is in the queue.
* Actively cancelling the in progress request as a best effort attempt
using `SBDebugger.RequestInterrupt()`.
Commit: b04045cc4165fae487d048bbf928be26e068284e
https://github.com/llvm/llvm-project/commit/b04045cc4165fae487d048bbf928be26e068284e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port 2d30a60e9ff8
Commit: fcf0f810ac4b22bda3f21048784ee114da1cb061
https://github.com/llvm/llvm-project/commit/fcf0f810ac4b22bda3f21048784ee114da1cb061
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/HIPAMD.cpp
A clang/test/Driver/hip-thinlto.hip
Log Message:
-----------
[Clang][AMDGPU] Enable `avail-extern-to-local` for ThinLTO in HIP (#134476)
In HIP, the Clang driver already sets `force-import-all` when ThinLTO is
enabled. As a result, all imported functions get the
`available_externally`
linkage. However, these functions are later removed by the
`EliminateAvailableExternallyPass`, effectively undoing the forced
import and
eventually leading to link errors.
The `EliminateAvailableExternallyPass` provides an option to convert
`available_externally` functions into local functions, renaming them to
avoid
conflicts. This behavior is exactly what we need for HIP. This PR
enables that
option (`avail-extern-to-local`) alongside `force-import-all` when
ThinLTO is
used.
With this change, ThinLTO almost works correctly on AMDGPU. The only
remaining
issue is an undefined reference to `__assert_fail`, but that falls
outside the
scope of this PR.
Commit: da6f493d4aab7ac18b680345701d210556438048
https://github.com/llvm/llvm-project/commit/da6f493d4aab7ac18b680345701d210556438048
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/docs/ModFiles.md
Log Message:
-----------
[flang][NFC] Update module file documentation (#135107)
The current module file documentation antedates the current
implementation of module files and contains many aspirational and
conditional statements, all of which can now be resolved with
descriptions of how things actually work.
Commit: dba757a33c9a07a632c8f14d6820dd6cd90fc918
https://github.com/llvm/llvm-project/commit/dba757a33c9a07a632c8f14d6820dd6cd90fc918
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
A flang/test/Preprocessing/bug518.F
Log Message:
-----------
[flang] Rework preprocessor fix for replacement in kind suffixes (#135406)
Recent work to better handle macro replacement in literal constant kind
suffixes isn't handling fixed form well, leading to a crash in Fujitsu
test 0113/0113_0073.F. The look-ahead needs to be done with the
higher-level prescanner functions that skip over fixed form comment
fields after column 72. Rework.
Commit: 13b55ad3bb6bafda7d8a62c5fe2fc98157442355
https://github.com/llvm/llvm-project/commit/13b55ad3bb6bafda7d8a62c5fe2fc98157442355
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
M clang-tools-extra/clang-tidy/utils/Matchers.cpp
M clang/include/clang/AST/PrettyPrinter.h
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/CXX/temp/temp.decls/temp.mem/p5.cpp
M clang/unittests/AST/TypePrinterTest.cpp
Log Message:
-----------
[clang] implement printing of canonical expressions (#135133)
This patch extends the canonicalization printing policy to cover
expressions
and template names, and wires that up to the template argument printer,
covering expressions, and to the expression within a dependent decltype.
This is helpful for debugging, or if these expressions somehow end up
in diagnostics, as without this patch they can print as completely
unrelated
expressions, which can be quite confusing.
This is because expressions are not uniqued, unlike types, and
when a template specialization containing an expression is the first to
be
canonicalized, the expression ends up appearing in the canonical type of
subsequent equivalent specializations.
Fixes https://github.com/llvm/llvm-project/issues/92292
Commit: 882200684bf1a0edcd3a8edd31c3fd601a2298df
https://github.com/llvm/llvm-project/commit/882200684bf1a0edcd3a8edd31c3fd601a2298df
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
A flang/test/Parser/OpenMP/bug518.f
Log Message:
-----------
[flang][OpenMP] Prescanning bug with !$ fixed form line continuation (#135416)
The logic for fixed form compiler directive line continuation has a hole
that can apply continuation for !$ even if the next line does not begin
with a fixed form comment character. Rearrange the nested if statements
to enforce that requirement for all compiler directives.
Commit: 9f7aac177cac18e03ca68e2a69e06700250cd3d7
https://github.com/llvm/llvm-project/commit/9f7aac177cac18e03ca68e2a69e06700250cd3d7
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/test/Semantics/spec-expr.f90
Log Message:
-----------
[flang] Allow host-associated INTENT(OUT) in specification expr. (#135426)
Nearly, but not all, other compilers have a blanket prohibition against
the use of an INTENT(OUT) dummy argument in a specification expression.
Some compilers, however, permit an INTENT(OUT) dummy argument to appear
in a specification expression in a BLOCK construct or inner procedure
via host association.
The argument some have put forth to accept this usage comes from a
reading of 10.1.11 (specification expressions) in Fortran 2023 that, if
followed consistently, would also require host-associated OPTIONAL dummy
argument to be allowed. That would be dangerous for reasons that should
be obvious.
However, I can agree that a non-OPTIONAL dummy argument can't be assumed
to remain undefined on entry to a BLOCK construct or inner procedure, so
we can accept host-associated INTENT(OUT) in specification expressions
with a portability warning.
Commit: 8ede3dd8a19e5bc3db5ba7f7d6b9273f88d2bbee
https://github.com/llvm/llvm-project/commit/8ede3dd8a19e5bc3db5ba7f7d6b9273f88d2bbee
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/BPF/MCTargetDesc/BPFInstPrinter.cpp
M llvm/lib/Target/BPF/MCTargetDesc/BPFInstPrinter.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYInstPrinter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYInstPrinter.h
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.h
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.h
M llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.h
M llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.h
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/lib/Target/X86/X86AsmPrinter.h
Log Message:
-----------
[NFC][MC] Use `StringRef` for Modifier in Inst/Asm Printers (#135403)
- Change various Inst/Asm Printer functions to use a StringRef for the
Modifier parameter (instead of a const char *).
- This simplifies various string comparisons used within these
functions.
- Remove these params for print functions that do not use them.
Commit: 71d10590dbc041139644f00144513c7f487a94ba
https://github.com/llvm/llvm-project/commit/71d10590dbc041139644f00144513c7f487a94ba
Author: Camsyn <camsyn at foxmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/CaptureTracking.h
Log Message:
-----------
[CaptureTracking][NFC] Clarify usage expectations in PointerMayBeCaptured comments (#132744)
Fixes issue #132739.
CaptureAnalysis only considers captures through the def-use chain of the
provided pointer, explicitly excluding captures of underlying values or
implicit captures like those involving external globals.
The previous comment for `PointerMayBeCaptured` did not clearly state
this limitation, leading to its incorrect usage in files such as
ThreadSanitizer.cpp and SanitizerMetadata.cpp.
This PR addresses this by refining the comments for the relevant APIs
within `PointerMayBeCaptured` to explicitly document this behavior.
Commit: 2e353a635b90a6c31eee5fd4ec0335f37f130628
https://github.com/llvm/llvm-project/commit/2e353a635b90a6c31eee5fd4ec0335f37f130628
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/docs/OpenACC.md
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenACC/acc-declare-validity.f90
Log Message:
-----------
[flang][openacc] Relax constraint on OpenACC declare statement (#135238)
OpenACC declare statements are restricted from having having clauses
that reference assumed size arrays. It should be the case that we can
implement `deviceptr` and `present` clauses for assumed-size arrays.
This is a first step towards relaxing this restriction.
Note running flang on the following example results in an error in
lowering.
```
$ cat t.f90
subroutine vadd (a, b, c, n)
real(8) :: a(*), b(*), c(*)
!$acc declare deviceptr(a, b, c)
!$acc parallel loop
do i = 1,n
c(i) = a(i) + b(i)
enddo
end subroutine
$ flang -fopenacc -c t.f90
error: loc("/home/akuhlenschmi/work/p4/ta/tests/openacc/src/t.f90":3:7): expect declare attribute on variable in declare operation
error: Lowering to LLVM IR failed
error: loc("/home/akuhlenschmi/work/p4/ta/tests/openacc/src/t.f90":4:7): unsupported OpenACC operation: acc.private.recipe
error: loc("/home/akuhlenschmi/work/p4/ta/tests/openacc/src/t.f90":4:7): LLVM Translation failed for operation: acc.private.recipe
error: failed to create the LLVM module
```
I would like to to share this code, because others are currently working
on the implementation of `deviceptr`, but it is obviously not running
end-to-end. I think the cleanest approach to this would be to put this
exception to the rule behind some feature flag, but I am not certain
what the precedence for that is.
Commit: 04b6f541b7ab6c1b25371cb248277c2b391040c9
https://github.com/llvm/llvm-project/commit/04b6f541b7ab6c1b25371cb248277c2b391040c9
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86Subtarget.h
Log Message:
-----------
[NFC][llvm] Create UEFI helper function (#132462)
Create useful helper functions for UEFI 64 bit target that can be used in
tablegen files in future changes.
Commit: fef5b6f9530c52d623f4729900855e626d5ee722
https://github.com/llvm/llvm-project/commit/fef5b6f9530c52d623f4729900855e626d5ee722
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp
M llvm/lib/Target/PowerPC/PPCBranchCoalescing.cpp
M llvm/lib/Target/PowerPC/PPCBranchSelector.cpp
M llvm/lib/Target/PowerPC/PPCCTRLoops.cpp
M llvm/lib/Target/PowerPC/PPCEarlyReturn.cpp
M llvm/lib/Target/PowerPC/PPCExpandAtomicPseudoInsts.cpp
M llvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
M llvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp
M llvm/lib/Target/PowerPC/PPCReduceCRLogicals.cpp
M llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
M llvm/lib/Target/PowerPC/PPCTOCRegDeps.cpp
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/lib/Target/PowerPC/PPCVSXCopy.cpp
M llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp
M llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp
Log Message:
-----------
[NFC][LLVM][PowerPC] Cleanup pass initialization for PowerPC (#134422)
- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767
Commit: 4983aec494119048ccbdd19d237f92ebb24c5d62
https://github.com/llvm/llvm-project/commit/4983aec494119048ccbdd19d237f92ebb24c5d62
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
R flang/test/Lower/OpenMP/Todo/depend-clause-vector-subscript-array-section.f90
M flang/test/Lower/OpenMP/task-depend-array-section.f90
Log Message:
-----------
[flang][OpenMP][HLFIR] Support vector subscripted array sections for DEPEND (#133892)
The OpenMP runtime needs the base address of the array section to
identify the dependency.
If we just put the vector subscript through the usual HLFIR expression
lowering, that would generate a new contiguous array representing the
values of the elements in the array which was sectioned. We cannot use
addresses from this array because these addresses would not match
dependencies on the original array. For example
```
integer :: array(1024)
integer :: indices(2)
indices(1) = 1
indices(2) = 100
!$omp task depend(out: array(1:512))
!$omp end task
!$omp task depend(in: array(indices))
!$omp end task
```
This requires taking the lowering path previously only used for ordered
assignments to get the address of the elements in the original array
which were indexed. This is done using `hlfir.elemental_addr`. e.g.
```
array(indices) = 2
```
`hlfir.elemental_addr` is awkward to use because it (by design) doesn't
return something like `!hlfir.expr<>` (like `hlfir.elemental`) and so it
can't have a generic lowering: each place it is used has to carefully
inline the contents of the operation and extract the needed address.
For this reason, `hlfir.elemental_addr` is not allowed outside of these
ordered assignments. In this commit I ignore this restriction so that I
can use `hlfir.elemental_addr` to lower the OpenMP DEPEND clause (this
works because the operation is inlined and removed before the verifier
runs).
One alternative solution would have been to provide my own more limited
re-implementation of `HlfirDesignatorBuilder` which skipped
`hlfir::elemental_addr`, instead inlining its body directly at the
current insertion point applying indices only for the first element.
This would have been difficult to maintain because designation in
Fortran is complex.
Commit: f9b8971bea0d93fe6b86364bb02a96a35eee9aba
https://github.com/llvm/llvm-project/commit/f9b8971bea0d93fe6b86364bb02a96a35eee9aba
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Align RFFT2d and FFT2d operator examples (#135261)
* Minor variable name alignment
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 45aba5149b94412da01eef482e8b815a9889779b
https://github.com/llvm/llvm-project/commit/45aba5149b94412da01eef482e8b815a9889779b
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Align AddOp examples to spec (#135266)
* simple example variable name alignment
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 5d489f484867b7ddcb3efe51144a133970921082
https://github.com/llvm/llvm-project/commit/5d489f484867b7ddcb3efe51144a133970921082
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Align AbsOp example variable names (#135268)
* Minor example variable name alignment
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 88c3e0eecffd42c6743638db51ad6db379996ff2
https://github.com/llvm/llvm-project/commit/88c3e0eecffd42c6743638db51ad6db379996ff2
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/test/Transforms/CorrelatedValuePropagation/uscmp.ll
Log Message:
-----------
[CVP] Add tests for ucmp/scmp with switch (NFC)
Commit: 1175f5b988ce706fd3e084912ed34ae6254f5cc3
https://github.com/llvm/llvm-project/commit/1175f5b988ce706fd3e084912ed34ae6254f5cc3
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__verbose_abort
M libcxx/src/verbose_abort.cpp
Log Message:
-----------
[libc++] Removes the _LIBCPP_VERBOSE_ABORT_NOT_NOEXCEPT macro. (#135494)
This makes __libcpp_verbose_abort unconditionally noexcept. This was
planned for the upcomming release.
Commit: 9800c3489a06a285cbc469a9aab4601e57dac35a
https://github.com/llvm/llvm-project/commit/9800c3489a06a285cbc469a9aab4601e57dac35a
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/test/Interpreter/inline-virtual.cpp
Log Message:
-----------
[Interp] Mark inline-virtual.cpp as unsupported with ASan (#135402)
See https://github.com/llvm/llvm-project/issues/135401 for the full flakiness report.
It fails on stage2/asan_ubsan check with:
```
+ /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/clang-repl -Xcc -fno-rtti -Xcc -fno-sized-deallocation
JIT session error: In graph incr_module_23-jitted-objectbuffer, section .text.startup: relocation target "_ZN1AD2Ev" at address 0x79618c48d040 is out of range of Delta32 fixup at 0x75618b40d02d (<anonymous block> @ 0x75618b40d010 + 0x1d)
error: Failed to materialize symbols: { (main, { $.incr_module_23.__inits.0, __orc_init_func.incr_module_23, a2 }) }
error: Failed to materialize symbols: { (main, { __orc_init_func.incr_module_23 }) }
The error message ("out of range of Delta32") appears similar to #102858, another Interpreter test that is flaky with ASan.
```
Recent test history on the x86_64-linux-fast bot:
- https://lab.llvm.org/buildbot/#/builders/169/builds/10339: fail
- 10340: buildbot logistical problem
- https://lab.llvm.org/buildbot/#/builders/169/builds/10341: fail
- https://lab.llvm.org/buildbot/#/builders/169/builds/10342: fail
- 10343: pass
- 10344: pass
- https://lab.llvm.org/buildbot/#/builders/169/builds/10345: fail
- 10346: pass
...
Commit: 6b863e810d6decb689bff8f6620e8ea07b356d86
https://github.com/llvm/llvm-project/commit/6b863e810d6decb689bff8f6620e8ea07b356d86
Author: John Harrison <harjohn at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/Transport.cpp
Log Message:
-----------
[lldb-dap] Fix win32 build. (#135638)
This enum was not fully specified.
Commit: 3b1dafd4271ced4c75625176c6d37f41fe85fc70
https://github.com/llvm/llvm-project/commit/3b1dafd4271ced4c75625176c6d37f41fe85fc70
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
Log Message:
-----------
[libc++][CI] Pin the XCode version. (#135412)
This version is the current version, to avoid unplanned automatic
updates in the future pin this version.
Commit: e071233fa527027c021509fcbd41238aa9bae2e1
https://github.com/llvm/llvm-project/commit/e071233fa527027c021509fcbd41238aa9bae2e1
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
M llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
Log Message:
-----------
[SystemZ] Consider VST/VL as SimpleBDXStore/Load (#135623)
Previously `vst` and `vl` were not considered "simple" BDX stores and
loads, leading to, among other things, some opportunities for `mvc`
optimization to be missed.
This PR addresses this and updates some tests to account for additional
`mvc` instructions being emitted.
This is observed to have a neutral or slightly beneficial effect
performance-wise.
Commit: e7aed23d32cb3a1082c5ce9bbe16eb2b56ebe55f
https://github.com/llvm/llvm-project/commit/e7aed23d32cb3a1082c5ce9bbe16eb2b56ebe55f
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
M llvm/include/llvm/ProfileData/CtxInstrContextNode.h
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
Log Message:
-----------
[ctxprof] Handle instrumenting functions with `musttail` calls (#135121)
Functions with `musttail` calls can't be roots because we can't instrument their `ret` to release the context. This patch tags their `CtxRoot` field in their `FunctionData`. In compiler-rt we then know not to allow such functions become roots, and also not confuse `CtxRoot == 0x1` with there being a context root.
Currently we also lose the context tree under such cases. We can, in a subsequent patch, have the root detector search past these functions.
Commit: 305006179341d8f657b89fdc7d76502f9bc5f0aa
https://github.com/llvm/llvm-project/commit/305006179341d8f657b89fdc7d76502f9bc5f0aa
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
A llvm/test/CodeGen/AArch64/stack-size-section.ll
M llvm/test/CodeGen/SystemZ/stack-size-section.ll
Log Message:
-----------
[AsmPrinter] Link .section_sizes to the correct section (#135583)
AsmPrinter may switch the current section when e.g., emitting a jump
table for a switch. `.stack_sizes` should still be linked to the
function section. If the section is wrong, readelf emits a warning
"relocation symbol is not in the expected section".
Commit: aad09da2adb67f5d2db83bed57c4e0d3f4821d86
https://github.com/llvm/llvm-project/commit/aad09da2adb67f5d2db83bed57c4e0d3f4821d86
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Dialect/FIRCG/CMakeLists.txt
Log Message:
-----------
[flang] Fix linking to libMLIR (#135483)
Fix regression to MLIR dylib support introduced in #135240. Without the
fix, the build with no static libraries fails:
```
FAILED: bin/fir-opt
: && /usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -O2 -pipe -march=native -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-copy -Wno-ctad-maybe-unsupported -fno-strict-aliasing -fno-semantic-interposition -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-rpath-link,/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang_build/lib -Wl,--gc-sections -Wl,--dependency-file=tools/fir-opt/CMakeFiles/fir-opt.dir/link.d tools/fir-opt/CMakeFiles/fir-opt.dir/fir-opt.cpp.o -o bin/fir-opt -L/usr/lib/llvm/21/lib64 -Wl,-rpath,"\$ORIGIN/../lib64:/usr/lib/llvm/21/lib64:" lib/libCUFAttrs.a lib/libCUFDialect.a lib/libFIRDialect.a lib/libFIRSupport.a lib/libFIRTransforms.a lib/libFIRCodeGen.a lib/libFIRCodeGenDialect.a lib/libHLFIRDialect.a lib/libHLFIRTransforms.a lib/libFIROpenACCSupport.a lib/libFIROpenMPSupport.a lib/libFlangOpenMPTransforms.a lib/libFIRAnalysis.a lib/libFIRTransforms.a lib/libFIRCodeGen.a lib/libFIROpenACCSupport.a lib/libFIRCodeGenDialect.a -lMLIRIR lib/libFIROpenMPSupport.a lib/libFIRAnalysis.a lib/libFIRBuilder.a lib/libCUFDialect.a lib/libFIRSupport.a lib/libHLFIRDialect.a lib/libFIRDialect.a lib/libCUFAttrs.a lib/libFIRDialectSupport.a lib/libFortranEvaluate.a lib/libFortranDecimal.a lib/libFortranParser.a lib/libFortranSupport.a /usr/lib/llvm/21/lib64/libMLIR.so.21.0gitfa4ac19f /usr/lib/llvm/21/lib64/libclang-cpp.so.21.0gitfa4ac19f /usr/lib/llvm/21/lib64/libLLVM.so.21.0gitfa4ac19f -lquadmath && :
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lMLIRIR: No such file or directory
collect2: error: ld returned 1 exit status
```
Commit: 2a83c0cc134471bdbc8342041d12fa514e17eca1
https://github.com/llvm/llvm-project/commit/2a83c0cc134471bdbc8342041d12fa514e17eca1
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/runtime/relative-vftable.cpp
Log Message:
-----------
[BOLT] Support relative vtable (#135449)
To handle relative vftable, which is enabled with clang option
`-fexperimental-relative-c++-abi-vtables`, we look for PC relative
relocations whose fixup locations fall in vtable address ranges.
For such relocations, actual target is just virtual function itself,
and the addend is to record the distance between vtable slot for
target virtual function and the first virtual function slot in vtable,
which is to match generated code that calls virtual function. So
we can skip the logic of handling "function + offset" and directly
save such relocations for future fixup after new layout is known.
Commit: 3e644859470e9ba77b8365cc7e2b5234492f4c30
https://github.com/llvm/llvm-project/commit/3e644859470e9ba77b8365cc7e2b5234492f4c30
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
Log Message:
-----------
Remove the redundant check for "WeakPtr" in isSmartPtrClass to fix the issue 135612. (#135629)
Commit: da17ced11b1cf44b433cb2b850978df4b6bff279
https://github.com/llvm/llvm-project/commit/da17ced11b1cf44b433cb2b850978df4b6bff279
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/DirectX.cpp
M clang/test/CodeGenDirectX/Builtins/dot2add.c
M clang/test/CodeGenHLSL/builtins/dot2add.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/test/CodeGen/DirectX/dot2_error.ll
M llvm/test/CodeGen/DirectX/dot2add.ll
M llvm/test/CodeGen/DirectX/dot3_error.ll
M llvm/test/CodeGen/DirectX/dot4_error.ll
M llvm/test/CodeGen/DirectX/fdot.ll
M llvm/test/CodeGen/DirectX/normalize.ll
Log Message:
-----------
[DirectX] Use scalar arguments for @llvm.dx.dot intrinsics (#134570)
The `dx.dot2`, `dot3`, and `dot4` intrinsics exist purely to lower
`dx.fdot`, and they map exactly to the DXIL ops of the same name. Using
vectors for their arguments adds unnecessary complexity and causes us to
have vector operations that are not trivial to lower post-scalarizer.
Similarly, the `dx.dot2add` intrinsic is overly generic for something
that only needs to lower to a single `dot2AddHalf` DXIL op. Update its
signature to match the operation it lowers to.
Fixes #134569.
Commit: df84aa8e06d98875fdbaf08e466dcf3eebe27fa3
https://github.com/llvm/llvm-project/commit/df84aa8e06d98875fdbaf08e466dcf3eebe27fa3
Author: Mateusz Sokół <8431159+mtsokol at users.noreply.github.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/lib/Dialect/Traits.cpp
M mlir/test/Dialect/Shape/canonicalize.mlir
Log Message:
-----------
[MLIR][Shape] Support >2 args in `shape.broadcast` folder (#126808)
Hi!
As the title says, this PR adds support for >2 arguments in
`shape.broadcast` folder by sequentially calling `getBroadcastedShape`.
Commit: c9ec1bc753b0bae7137547e1e39823b2effe82c1
https://github.com/llvm/llvm-project/commit/c9ec1bc753b0bae7137547e1e39823b2effe82c1
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/BoxValue.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/HostAssociations.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/MutableBox.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
A flang/test/HLFIR/volatile1.fir
A flang/test/HLFIR/volatile2.fir
A flang/test/HLFIR/volatile3.fir
A flang/test/HLFIR/volatile4.fir
Log Message:
-----------
[flang] Handle volatility in lowering and codegen (#135311)
* Enable lowering and conversion patterns to pass volatility information
from higher level operations to lower level ones.
* Enable codegen to pass volatility to LLVM dialect ops by setting an
attribute on loads, stores, and memory intrinsics.
* Add utilities for passing along the volatility from an input type to
an output type.
To introduce volatile types into the IR, entities with the volatile
attribute will be given a volatile type in the bridge; this is not
enabled in this patch. User code should not result in IR with volatile
types yet, so this patch contains no tests with Fortran source, only IR
that already contains volatile types.
Part 3 of #132486.
Commit: da8ce56c53fe6e34809ba0b310fa90257e230a89
https://github.com/llvm/llvm-project/commit/da8ce56c53fe6e34809ba0b310fa90257e230a89
Author: aankit-ca <quic_aankit at quicinc.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
A llvm/test/CodeGen/Hexagon/hwloop-dist-check.mir
M llvm/test/CodeGen/Hexagon/swp-phi-start.ll
Log Message:
-----------
[HEXAGON] Fix corner cases for hwloops pass (#135439)
Add check to make sure Dist > 0 or Dist < 0 for appropriate cmp cases to
hexagon hardware loops pass. The change modifies the
HexagonHardwareLoops pass to add runtime checks to make sure that
end_value > initial_value for less than comparisons and end_value <
initial_value for greater than comparisons.
Fix for https://github.com/llvm/llvm-project/issues/133241
@androm3da @iajbar PTAL
---------
Co-authored-by: aankit-quic <aankit at quicinc.com>
Commit: c766d0c7321b12db12b3b087941e86df0f1a75d1
https://github.com/llvm/llvm-project/commit/c766d0c7321b12db12b3b087941e86df0f1a75d1
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/test/CodeGen/AArch64/jump-table-partition.ll
Log Message:
-----------
[NFC][AsmPrinter] Refactor AsmPrinter and AArch64AsmPrinter to prepare for jump table partitions on aarch64 (#125993)
With
https://github.com/llvm/llvm-project/commit/3feb724496238ce10d32e8c2bd84b4ea50f9977e,
AsmPrinter can place jump table entries into `.hot` or `.unlikely`
prefixed data sections. This change refactors AsmPrinter and
AArch64AsmPrinter to prepare for the aarch64 port.
* Before this patch, the AsmPrinter class exposes `emitJumpTableInfo` as
a virtual method, and AArch64AsmPrinter overrides `emitJumpTableInfo`
for jump table emission.
* After this patch, both AsmPrinter and AArch64AsmPrinter shares
`AsmPrinter::emitJumpTableInfo`, and class-specific code are moved
inside each class's `emitJumpTableImpl` respectively.
This is a follow-up of https://github.com/llvm/llvm-project/pull/125987,
and https://github.com/llvm/llvm-project/pull/126018 implements the port
for aarch64.
Commit: c5ac63e4fcd58c951f10c3902d8a6692e0a43c55
https://github.com/llvm/llvm-project/commit/c5ac63e4fcd58c951f10c3902d8a6692e0a43c55
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/IPO/ThinLTOBitcodeWriter.h
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
A llvm/test/Bitcode/thinlto-preserve-uselistorder.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/unsplittable.ll
M llvm/tools/opt/NewPMDriver.cpp
Log Message:
-----------
ThinLTO: Add flag to print uselistorder in bitcode writer pass (#133230)
This is needed in llvm-reduce to avoid perturbing the uselistorder in
intermediate steps. Really llvm-reduce wants pure serialization with
no dependency on the pass manager. There are other optimizations mixed
in to the serialization here depending on metadata in the module, which
is also bad.
Part of #63621
Commit: bae08dad69674385ee8bb2e97423e72dad98435a
https://github.com/llvm/llvm-project/commit/bae08dad69674385ee8bb2e97423e72dad98435a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/thinlto-preserve-uselistorder.ll
M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
Log Message:
-----------
llvm-reduce: Preserve uselistorder when writing thinlto bitcode (#133369)
Fixes #63621
Commit: 904f1b17d30335b102bd05f63a73e9ed5576ba0a
https://github.com/llvm/llvm-project/commit/904f1b17d30335b102bd05f63a73e9ed5576ba0a
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[CMake] Configure ccache using command line options (#134857)
Since ccache 4.8, it is possible to pass configuration options directly
to ccache on the command line as opposed to through environment
variables.
This is the intended way for CMake to configure ccache, as described on
the GitHub wiki for the project:
https://github.com/ccache/ccache/wiki/CMake
This should allow for uniform ccache configuration that does not rely on
platform-specific environment setup.
Rework the way ccache is configured by LLVM accordingly.
---------
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: a43ff0ec8a684b2f8e93bb9f6df3b513c577091b
https://github.com/llvm/llvm-project/commit/a43ff0ec8a684b2f8e93bb9f6df3b513c577091b
Author: Petr Hosek <phosek at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/aarch64/headers.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/arm/headers.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/baremetal/riscv/headers.txt
Log Message:
-----------
[libc] Include extra baremetal headers and entrypoints (#135462)
These are all usable in baremetal environments.
Commit: 2b58b3df0bad3de1887fcb113a5eed7ab714812a
https://github.com/llvm/llvm-project/commit/2b58b3df0bad3de1887fcb113a5eed7ab714812a
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
Revert "[CMake] Configure ccache using command line options" (#135664)
Reverts llvm/llvm-project#134857
Commit: 9deb08a30196b5b3b3883b5c7be8c4251039bde7
https://github.com/llvm/llvm-project/commit/9deb08a30196b5b3b3883b5c7be8c4251039bde7
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
A mlir/include/mlir-c/Dialect/SMT.h
A mlir/include/mlir-c/Target/ExportSMTLIB.h
M mlir/lib/CAPI/Dialect/CMakeLists.txt
A mlir/lib/CAPI/Dialect/SMT.cpp
M mlir/lib/CAPI/Target/CMakeLists.txt
A mlir/lib/CAPI/Target/ExportSMTLIB.cpp
M mlir/lib/Target/SMTLIB/CMakeLists.txt
M mlir/test/CAPI/CMakeLists.txt
A mlir/test/CAPI/smt.c
M mlir/test/CMakeLists.txt
Log Message:
-----------
[mlir][SMT] C APIs (#135501)
This PR upstreams/adds the C APIs for SMT dialect (from CIRCT).
---------
Co-authored-by: Bea Healy <beahealy22 at gmail.com>
Co-authored-by: Martin Erhart <maerhart at outlook.com>
Co-authored-by: Mike Urbach <mikeurbach at gmail.com>
Co-authored-by: Will Dietz <will.dietz at sifive.com>
Co-authored-by: fzi-hielscher <hielscher at fzi.de>
Co-authored-by: Fehr Mathieu <mathieu.fehr at gmail.com>
Co-authored-by: Clo91eaf <Clo91eaf at qq.com>
Commit: b07fc0fd5e26f894e3a80373577cb5979b8b54bb
https://github.com/llvm/llvm-project/commit/b07fc0fd5e26f894e3a80373577cb5979b8b54bb
Author: Ashley Coleman <ascoleman at microsoft.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
M llvm/unittests/Analysis/DXILResourceTest.cpp
Log Message:
-----------
[HLSL] Move Resource Instance Properties from TypeInfo (#135259)
Fixes https://github.com/llvm/llvm-project/issues/134741
Moves Resource Instance properties from type info into resource info as
described in
https://github.com/llvm/wg-hlsl/blob/main/proposals/0022-resource-instance-analysis.md
Commit: 202cd7bb33b8116bbfc6e25eef8ad8446c57bed5
https://github.com/llvm/llvm-project/commit/202cd7bb33b8116bbfc6e25eef8ad8446c57bed5
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/metadata.ll
Log Message:
-----------
[LV] Extend metadata.ll tests to also check interleaving.
Adds missing test coverage for presering existing metadata when
interleaving.
Commit: be4c99ae112f572695c3e187f4ef4ac4cd592783
https://github.com/llvm/llvm-project/commit/be4c99ae112f572695c3e187f4ef4ac4cd592783
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/test/CodeGen/AArch64/jump-table-partition.ll
Log Message:
-----------
[AArch64AsmPrinter]Place jump tables into hot/unlikely-prefixed data sections for aarch64 (#126018)
This is a follow-up patch of
https://github.com/llvm/llvm-project/pull/125993 to port jump table
partitions for aarch64.
---------
Co-authored-by: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Commit: 061f87f75f38e80e7494b5f7235103f7f11a36c3
https://github.com/llvm/llvm-project/commit/061f87f75f38e80e7494b5f7235103f7f11a36c3
Author: MillePlateaux <liulambda at outlook.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaStmt.cpp
A clang/test/Sema/attr-musttail.cpp
Log Message:
-----------
[Clang][Sema]:Fix musttail attribute on a function with not_tail_called attribute has no warning/error (#134465)
The error is emitted when a musttail call is made to a function marked
with the not_tail_called attribute.Closes #133509
Commit: a2c57e1dec7e5641a3cc82dbfb397bea058c03cd
https://github.com/llvm/llvm-project/commit/a2c57e1dec7e5641a3cc82dbfb397bea058c03cd
Author: David Green <david.green at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrGISel.td
Log Message:
-----------
[AArch64][GlobalISel] Remove unnecessary fp convert patterns. NFC
We nowadays legalize the fp converts to legal operations earlier, not requiring
patterns that select to multiple instructions.
Commit: f5c5f9f926cb93c58e8cc6302f788474909606b0
https://github.com/llvm/llvm-project/commit/f5c5f9f926cb93c58e8cc6302f788474909606b0
Author: Tsz Chan <keithcth2001 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_itimerval.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_itimerval.h
M libc/include/sys/time.yaml
M libc/src/sys/time/CMakeLists.txt
A libc/src/sys/time/getitimer.h
M libc/src/sys/time/linux/CMakeLists.txt
A libc/src/sys/time/linux/getitimer.cpp
A libc/src/sys/time/linux/setitimer.cpp
A libc/src/sys/time/setitimer.h
M libc/test/src/sys/time/CMakeLists.txt
A libc/test/src/sys/time/getitimer_test.cpp
A libc/test/src/sys/time/setitimer_test.cpp
Log Message:
-----------
[libc] Implement getitimer and setitimer, add proxy headers for itimerval (#134773)
#133983
Commit: 9332f1ea57fb7486c79003eaff43d27bfedea1af
https://github.com/llvm/llvm-project/commit/9332f1ea57fb7486c79003eaff43d27bfedea1af
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/hip-options.hip
Log Message:
-----------
[Clang] add option --offload-jobs=N (#135229)
for specifying number of threads for clang-linker-wrapper.
Commit: 9ba65cbcb5ea24d8f65cbe82474b7513501c5470
https://github.com/llvm/llvm-project/commit/9ba65cbcb5ea24d8f65cbe82474b7513501c5470
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Refactor DecoderEmitter.cpp (#135510)
- Add helper functions to insert ULEB128 encoded value and NumToSkip.
- Use ArrayRef<> instead of const vector references as function
arguments.
- Return `OpHasCompleteDecoder` by value instead of by reference.
- Use range for loops.
- Remove {} around single line if/else bodies.
- In `emitSoftFailTableEntry`, unconditionally emit the Positive and
Negative mask values, instead of explicitly emitting a 0 byte when
the mask is not needed.
Commit: 52166339f1f74f7d97a54eaf687bb5de167f040d
https://github.com/llvm/llvm-project/commit/52166339f1f74f7d97a54eaf687bb5de167f040d
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/blockaddress-canonicalize.mlir
A mlir/test/Dialect/LLVMIR/indirectbr.mlir
M mlir/test/Target/LLVMIR/Import/import-failure.ll
A mlir/test/Target/LLVMIR/Import/indirectbr.ll
A mlir/test/Target/LLVMIR/indirectbr.mlir
M mlir/test/mlir-translate/import-diagnostics.ll
Log Message:
-----------
[MLIR][LLVM] Support for indirectbr (#135092)
Now that LLVM dialect has `blockaddress` support, introduce import/translation for `indirectbr` instruction.
Commit: 41892fc4353d2dd705666783d799e79748467ed8
https://github.com/llvm/llvm-project/commit/41892fc4353d2dd705666783d799e79748467ed8
Author: Theo de Magalhaes <theo.de-magalhaes at epita.fr>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/RecordLayoutBuilder.cpp
A clang/test/SemaCXX/windows-Wpadded-bitfield.cpp
A clang/test/SemaCXX/windows-Wpadded.cpp
Log Message:
-----------
[CLANG-CL] ignores Wpadded (#134426)
[clang] add support for -Wpadded on Windows
Implements the -Wpadded warning for --target=x86_64-windows-msvc etc.
Fixes #61702 .
Commit: 924cf536cebffa7aa67e2dd2f7528fb9629a6f3e
https://github.com/llvm/llvm-project/commit/924cf536cebffa7aa67e2dd2f7528fb9629a6f3e
Author: Joy <yutche at qti.qualcomm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/cpus.ll
Log Message:
-----------
[AArch64] Add missing test for Qualcomm Oryon-1 processor (#135258)
For completeness add oryon-1 test case to test verifying all valid
AArch64 CPUs are accepted by llc.
Commit: 54b33eba1657f4bfe11db5cc1c562a2d2172c7e3
https://github.com/llvm/llvm-project/commit/54b33eba1657f4bfe11db5cc1c562a2d2172c7e3
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
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
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
Log Message:
-----------
[VPlan] Add opcode to create step for wide inductions. (#119284)
This patch adds a WideIVStep opcode that can be used to create a vector
with the steps to increment a wide induction. The opcode has 2 operands
* the vector step
* the scale of the vector step
The opcode is later converted into a sequence of recipes that convert
the scale and step to the target type, if needed, and then multiply
vector step by scale.
This simplifies code that needs to materialize step vectors, e.g.
replacing wide IVs as follow up to
https://github.com/llvm/llvm-project/pull/108378 with an increment of
the wide IV step.
PR: https://github.com/llvm/llvm-project/pull/119284
Commit: ff687af04f5b0e85305250587b524cb0b3849aa0
https://github.com/llvm/llvm-project/commit/ff687af04f5b0e85305250587b524cb0b3849aa0
Author: Jan Górski <jan.a.gorski at wp.pl>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
A clang/test/CodeGen/atomic-ops-load.c
Log Message:
-----------
[clang][CodeGen] Add range metadata for atomic load of boolean type. #131476 (#133546)
Fixes #131476.
For `x86_64` it folds
```
movzbl t1(%rip), %eax
andb $1, %al
```
into
```
movzbl t1(%rip), %eax
```
when run: `clang -S atomic-ops-load.c -o atomic-ops-load.s -O1
--target=x86_64`.
But for riscv replaces:
```
lb a0, %lo(t1)(a0)
andi a0, a0, 1
```
with
```
lb a0, %lo(t1)(a0)
zext.b a0, a0
```
when run: `clang -S atomic-ops-load.c -o atomic-ops-load.s -O1
--target=riscv64`.
Commit: 557e931d958104eb5d11b93ad3a21e4017812fcd
https://github.com/llvm/llvm-project/commit/557e931d958104eb5d11b93ad3a21e4017812fcd
Author: Damien L-G <dalg24 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__mdspan/aligned_accessor.h
M libcxx/include/__mdspan/mdspan.h
A libcxx/include/__memory/is_sufficiently_aligned.h
M libcxx/include/mdspan
M libcxx/include/memory
M libcxx/include/module.modulemap
M libcxx/include/version
M libcxx/modules/std/mdspan.inc
M libcxx/modules/std/memory.inc
A libcxx/test/libcxx/containers/views/mdspan/aligned_accessor/byte_alignment.verify.cpp
A libcxx/test/libcxx/containers/views/mdspan/aligned_accessor/element_type.verify.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/access.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.conversion.from.default_accessor.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.conversion.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.default.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/offset.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/operator.conversion.to.default_accessor.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/types.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
A libcxx/test/std/utilities/memory/ptr.align/is_sufficiently_aligned.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Implement P2897R7 aligned_accessor: An mdspan accessor expressing pointer over-alignment (#122603)
Closes #118372
Commit: cd7d2c3bf89c9f0e6b7467d9d5ac87ddc829975c
https://github.com/llvm/llvm-project/commit/cd7d2c3bf89c9f0e6b7467d9d5ac87ddc829975c
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
A clang/include/clang/CIR/Dialect/IR/CIRTypesDetails.h
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/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
A clang/test/CIR/CodeGen/struct.c
A clang/test/CIR/CodeGen/struct.cpp
A clang/test/CIR/CodeGen/union.c
A clang/test/CIR/IR/struct.cir
Log Message:
-----------
[CIR] Upstream minimal support for structure types (#135105)
This change adds minimal support for structure types. To keep the
initial change small, only incomplete declarations are being supported
in this patch. More complete support will follow.
Commit: 1bcec036e197f6ab7461722502e4393396b46ec3
https://github.com/llvm/llvm-project/commit/1bcec036e197f6ab7461722502e4393396b46ec3
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
A clang/test/CodeGenHipStdPar/rdc-does-not-enable-hipstdpar.cpp
A clang/test/CodeGenHipStdPar/select-accelerator-code-pass-ordering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
Log Message:
-----------
[HIP][HIPSTDPAR][NFC] Re-order & adapt `hipstdpar` specific passes (#134753)
The `hipstdpar` specific passes were not ordered ideally, especially for
`fgpu-rdc` compilations, which meant that we'd eagerly run accelerator
code selection and remove symbols that might end up used. This change
corrects that aspect by ensuring that accelerator code selection is only
done after linking (this will have to be revisited in the future once
the closed-world assumption no longer holds). Furthermore, we take the
opportunity to move allocation interposition so that it properly gets
printed when print-pipeline-passes is requested. NFC.
Commit: 68806b9c2cf732dc93b17e47e5321394e0fcf8bb
https://github.com/llvm/llvm-project/commit/68806b9c2cf732dc93b17e47e5321394e0fcf8bb
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2025-04-15 (Tue, 15 Apr 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/XtensaAsmBackend.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaFixupKinds.h
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.h
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCCodeEmitter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
M llvm/lib/Target/Xtensa/XtensaFeatures.td
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaOperands.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
A llvm/test/CodeGen/Xtensa/minmax.ll
A llvm/test/CodeGen/Xtensa/sext.ll
M llvm/test/MC/Xtensa/Relocations/fixups-diagnostics.s
M llvm/test/MC/Xtensa/Relocations/fixups.s
M llvm/test/MC/Xtensa/Relocations/relocations.s
A llvm/test/MC/Xtensa/loop.s
A llvm/test/MC/Xtensa/minmax.s
A llvm/test/MC/Xtensa/nsau.s
A llvm/test/MC/Xtensa/sext.s
A llvm/test/MC/Xtensa/sext_invalid.s
Log Message:
-----------
[Xtensa] Implement SEXT, NSA, MINMAX and Loop Xtensa Options. (#133818)
Implement basic support of the several simple Xtensa Options with 1-4
instructions for each option. The Sign Extend Option (SEXT). The NSA
Option. The Minimum/Maximum Integer 32-bit Option and Loop Option.
Fixed address operands, added OPERAND_PCREL to operands descriptions.
Commit: eb3ecd158a8aef854f23553f63d118a0c5ef69af
https://github.com/llvm/llvm-project/commit/eb3ecd158a8aef854f23553f63d118a0c5ef69af
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 557e931d9581
Commit: 888b3ed5b4f441b0dea91d7ec2bda1426abeadec
https://github.com/llvm/llvm-project/commit/888b3ed5b4f441b0dea91d7ec2bda1426abeadec
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[Vectorize] Fix a warning
This patch fixes:
llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp:2417:13: error:
unused variable 'ConstStep' [-Werror,-Wunused-variable]
Commit: 2206e15e78bc3d5289fb2c2cf5a80d6f08412a58
https://github.com/llvm/llvm-project/commit/2206e15e78bc3d5289fb2c2cf5a80d6f08412a58
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
Log Message:
-----------
[alpha.webkit.UnretainedCallArgsChecker] Don't emit a warning for RetainPtr::operator= (#135526)
Generalize the check for operator= so that it works for RetainPtr and
CheckedPtr instead of just RefPtr.
Commit: 820a9b72b2e28b7607691485103f0d7e75baaf42
https://github.com/llvm/llvm-project/commit/820a9b72b2e28b7607691485103f0d7e75baaf42
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
Fix build by marking possibly unused variable such. (#135689) [NFC]
Commit: a9f73ae4494437c606c2b2e869358b75d8e2d45c
https://github.com/llvm/llvm-project/commit/a9f73ae4494437c606c2b2e869358b75d8e2d45c
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
Log Message:
-----------
[CIR] Fix upstream issue. NFC
- 'PrintCanonicalTypes' from the printing policy is renamed as
'PrintAsCanonical'
Commit: 76db259080fa134579f31d76fe9ab462f47eca87
https://github.com/llvm/llvm-project/commit/76db259080fa134579f31d76fe9ab462f47eca87
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/blockaddress-canonicalize.mlir
R mlir/test/Dialect/LLVMIR/indirectbr.mlir
M mlir/test/Target/LLVMIR/Import/import-failure.ll
R mlir/test/Target/LLVMIR/Import/indirectbr.ll
R mlir/test/Target/LLVMIR/indirectbr.mlir
M mlir/test/mlir-translate/import-diagnostics.ll
Log Message:
-----------
Revert "[MLIR][LLVM] Support for indirectbr" (#135695)
Reverts llvm/llvm-project#135092, broke
https://lab.llvm.org/buildbot/#/builders/169/builds/10469
Commit: b9a3e998b1921f7d1e3093f27d288ee1a121ba4b
https://github.com/llvm/llvm-project/commit/b9a3e998b1921f7d1e3093f27d288ee1a121ba4b
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
A clang/test/CodeGenCXX/bug135668.cpp
A clang/test/SemaCXX/bug135668.cpp
Log Message:
-----------
[Clang]Ensure correct handling of cleanup access control (#135668) (#135686)
The P2719 implementation refactored diagnostics for cleanup delete, and
as part of that I attempted to fix handling of inaccessible cleanup
operator delete. Alas the new branch was incorrect as it was performing
an implicit bool conversion, which resulted in friend accessible cleanup
operators incorrectly being considered erroneous and the allocation path
errored out. This error however did not get diagnosed, so the result was
and so we did not actually error out before codegen.
Added both Sema and CodeGen tests to cover this.
Commit: 23e92c985de96ec2f06be1c94228ad5dff2d9097
https://github.com/llvm/llvm-project/commit/23e92c985de96ec2f06be1c94228ad5dff2d9097
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/test/CodeGenHipStdPar/select-accelerator-code-pass-ordering.cpp
Log Message:
-----------
[NFC] Fix bot breakage introduced by #134753 (#135697)
This test needs the amdgpu target, and its absence wreaked havoc with
some of the bots, therefore we now require it.
Commit: 7491ff74d2b99c0e5e879ec7fd370fe9654528c4
https://github.com/llvm/llvm-project/commit/7491ff74d2b99c0e5e879ec7fd370fe9654528c4
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M lldb/source/Target/StopInfo.cpp
Log Message:
-----------
[lldb] Override Should{Select,Show} in StopReasonBreakpoint (#135637)
This is necessary so that LLDB does not select (or show the stop reason
for) a thread which stopped at an internal breakpoint.
Other than manual testing/inspection, which I've done, this does not
seem to lend itself to API testing, as we cannot set internal
breakpoints through the SBAPI.
Commit: 3633de702985e1580d72223ae38a31d0e6fd480b
https://github.com/llvm/llvm-project/commit/3633de702985e1580d72223ae38a31d0e6fd480b
Author: nvptm <pmathew at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
M mlir/lib/Dialect/OpenACC/Transforms/LegalizeDataValues.cpp
M mlir/test/Dialect/OpenACC/legalize-data.mlir
Log Message:
-----------
[mlir][acc] Handle OpenACC host_data in LegalizeDataValues (#134767)
`LegalizeDataValuesInRegion` is intended to replace the SSA values used
in a region with the output of data operations, but misses the handling
of the OpenACC `host_data` construct. As a result, currently
```
!$acc host_data use_device(%var)
...%var...
!$acc end host_data
```
is lowered to
```
%dev_var = acc.use_device(%var)
acc.host_data data_operands(%dev_var) {
...%var...
}
```
This pull request updates the LegalizeDataValuesInRegion to handle
HostDataOp such that lowering results in
```
%dev_var = acc.use_device(%var)
acc.host_data data_operands(%dev_var) {
...%dev_var...
}
```
Commit: 15932624537ddba61efae19c9af212d3e47a4c21
https://github.com/llvm/llvm-project/commit/15932624537ddba61efae19c9af212d3e47a4c21
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
Log Message:
-----------
SanitizerCoverage: Remove unused field.
Commit: 8fe5ac896f049020c739769c5186b472c639fd30
https://github.com/llvm/llvm-project/commit/8fe5ac896f049020c739769c5186b472c639fd30
Author: thetruestblue <bblueconway at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/Posix/mmap_limit_mb.cpp
Log Message:
-----------
[Test][Darwin] Disable test on watchos due to memory restraints (#135671)
Because of the nature of this test (mmap stress-test) it tests too large
of memory allocations to be stable on watchos. WatchOS has memory limits
that can lead to the termination of this process before it reaches the
limit set by the flag. Typical only on devices that are under heavy
load. disable on watchOS.
rdar://147222346
Commit: 8e8d04870dbc3248301534796b4370f75e33f7c0
https://github.com/llvm/llvm-project/commit/8e8d04870dbc3248301534796b4370f75e33f7c0
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/IPO/SampleProfileProbe.h
M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
Log Message:
-----------
SampleProfileProbe: Remove unused field.
Commit: 07fe9c6461dbdde6f619fc56bd021cd30b3f6327
https://github.com/llvm/llvm-project/commit/07fe9c6461dbdde6f619fc56bd021cd30b3f6327
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/combine-mad.ll
M llvm/test/CodeGen/NVPTX/copysign.ll
M llvm/test/CodeGen/NVPTX/f16-instructions.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/forward-ld-param.ll
M llvm/test/CodeGen/NVPTX/i1-int-to-fp.ll
M llvm/test/CodeGen/NVPTX/i1-load-lower.ll
M llvm/test/CodeGen/NVPTX/i128.ll
M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
M llvm/test/CodeGen/NVPTX/param-load-store.ll
M llvm/test/CodeGen/NVPTX/pr13291-i1-store.ll
Log Message:
-----------
[NVPTX] Use 0 immediate for i1 trunc, cleanup dead code (#135646)
Update the instruction selection for truncation to i1 to use "setp.ne
%v, 0" as the zero immediate is a preferable canonical form. Also remove
some dead code relating to the "set" instruction which we do not
actually support currently.
Commit: fe9e2090be79a2b807d381a0a045bc606d59c33c
https://github.com/llvm/llvm-project/commit/fe9e2090be79a2b807d381a0a045bc606d59c33c
Author: YunQiang Su <syq at debian.org>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/X86/fminimumnum.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/fminimumnum.ll
M llvm/test/Transforms/SLPVectorizer/X86/fminimumnum.ll
Log Message:
-----------
Vectorize: Support fminimumnum and fmaximumnum (#131781)
Support auto-vectorize for fminimum_num and fmaximum_num.
For ARM64 with SVE, scalable vector cannot support yet.
---------
Co-authored-by: Your Name <you at example.com>
Commit: a686b783ce244a6dfebd17b717532c516419fc32
https://github.com/llvm/llvm-project/commit/a686b783ce244a6dfebd17b717532c516419fc32
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/test/ClangScanDeps/prebuilt-modules-in-stable-dirs.c
Log Message:
-----------
[clang][tests] Add missing FileCheck check, NFC (#135687)
Commit: 6ba32e8eb203ebabd3fc9fffcea2762500f82e3a
https://github.com/llvm/llvm-project/commit/6ba32e8eb203ebabd3fc9fffcea2762500f82e3a
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/test/MC/AMDGPU/vinterp.s
Log Message:
-----------
[AMDGPU][MC] test update with script for vinterp asm test (#135681)
This is a NFC patch.
Run test update with script with --unique options for vinterp test. This
reduce duplications. This prepares for the upcoming true16 clean up
patch
Commit: cc354d6a6da542515fbd6f39dcb9665b7c26a008
https://github.com/llvm/llvm-project/commit/cc354d6a6da542515fbd6f39dcb9665b7c26a008
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp
M flang/test/Lower/OpenMP/clause-cleanup.f90
M llvm/lib/Target/X86/X86InstrInfo.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp
Log Message:
-----------
[NFC] Fix destroy typo. (#135640)
Commit: e96111d3e9ac67b14cab32925717a62258a2bd60
https://github.com/llvm/llvm-project/commit/e96111d3e9ac67b14cab32925717a62258a2bd60
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Remove redundant check. nfc (#135605)
Remove the redundant `!TheLoop->contains(Op->getParent())` check since
`!TheLoop->contains(Op)` has already been verified.
Commit: 9cdc3aab3eae55be30003cb486f290f3ee3df3a8
https://github.com/llvm/llvm-project/commit/9cdc3aab3eae55be30003cb486f290f3ee3df3a8
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang-tools-extra/clang-doc/Mapper.cpp
Log Message:
-----------
[clang-doc] Use SmartMutex when visiting the AST (#135514)
The SmartMutex will allow us to have a cheap mutex implementation when
using the Standalone executor, since it's single threaded. Performance
should be about the same for AllTUs executor.
Commit: 5df9658d4009e500be1421231b48b210e8c2cd69
https://github.com/llvm/llvm-project/commit/5df9658d4009e500be1421231b48b210e8c2cd69
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv64xqccmp-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
Log Message:
-----------
[RISCV] Refactor register list parsing and improve error messages. (#134938)
Structure the code into a loop that parses a series of ranges and gives
an error when there are too many ranges.
Give errors when ABI and non-ABI names are mixed.
Properly diagnose 'x1-` starting a list.
Use a default bool argument to merge parseRegListCommon and
parseRegList.
Commit: f4ff209e4384d8073f36fb7da9916b33f1140edf
https://github.com/llvm/llvm-project/commit/f4ff209e4384d8073f36fb7da9916b33f1140edf
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/openmp-offload-gpu.c
Log Message:
-----------
[Clang] Forward two linker options to `lld` when ThinLTO is enabled for AMDGPU (#135690)
Commit: a6b424e1e7e6aa83ae49e7e12454998d3b195054
https://github.com/llvm/llvm-project/commit/a6b424e1e7e6aa83ae49e7e12454998d3b195054
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-fp.ll
Log Message:
-----------
[RISCV] Extend redundant vrgather.vx peephole to vfmv.v.f (#135503)
Extend the transform introduced in 336b290 to vfmv.v.f. This is fairly
trivial and would have been in the original commit except I hadn't
written the FP tests yet.
If the vrgather.vi is preceeded by a vfmv.v.f which writes a superset of
the lanes writen by the vrgather, and the vrgather has no passthru, then
the vrgather has no semantic effect.
Commit: 83344da69145a648aad3e0cd88eab4aaf60b2142
https://github.com/llvm/llvm-project/commit/83344da69145a648aad3e0cd88eab4aaf60b2142
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
A clang/test/CodeGenCXX/local-class-instantiation.cpp
Log Message:
-----------
[Clang] Fix dependent local class instantiation bugs (#134038)
This patch fixes two long-standing bugs that prevent Clang from
instantiating local class members inside a dependent context. These bugs
were introduced in commits 21eb1af469c3 and 919df9d75a.
21eb1af469c3 introduced a concept called eligible methods such that it
did an attempt to skip past ineligible method instantiation when
instantiating class members. Unfortunately, this broke the instantiation
chain for local classes - getTemplateInstantiationPattern() would fail
to find the correct definition pattern if the class was defined within a
partially transformed dependent context.
919df9d75a introduced a separate issue by incorrectly copying the
DeclarationNameInfo during function definition instantiation from the
template pattern, even though that DNI might contain a transformed
TypeSourceInfo. Since that TSI was already updated when the declaration
was instantiated, this led to inconsistencies. As a result, the final
instantiated function could lose track of the transformed declarations,
hence we crash: https://compiler-explorer.com/z/vjvoG76Tf.
This PR corrects them by
1. Removing the bypass logic for method instantiation. The eligible flag
is independent of instantiation and can be updated properly afterward,
so skipping instantiation is unnecessary.
2. Carefully handling TypeSourceInfo by creating a new instance that
preserves the pattern's source location while using the already
transformed type.
Fixes https://github.com/llvm/llvm-project/issues/59734
Fixes https://github.com/llvm/llvm-project/issues/132208
Commit: f1dd6b3cf8d957f28e06f475c8a652f201fc830b
https://github.com/llvm/llvm-project/commit/f1dd6b3cf8d957f28e06f475c8a652f201fc830b
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/test/Conversion/TensorToLinalg/tensor-ops-to-linalg.mlir
Log Message:
-----------
[mlir][tensor] Fix `createFillOrGenerateOp` (#121205)
This PR clones the padding value defined inside the PadOp block to
outside to prevent a crash. Fixes #120947.
Commit: 9ce8356acbe3e79764f4147a0e7cc30e1b759b45
https://github.com/llvm/llvm-project/commit/9ce8356acbe3e79764f4147a0e7cc30e1b759b45
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/docs/ControlFlowIntegrity.rst
Log Message:
-----------
Fix broken link.
Commit: c3959f22abc62882be6c9df2fe4151c924ac3d9a
https://github.com/llvm/llvm-project/commit/c3959f22abc62882be6c9df2fe4151c924ac3d9a
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/MachineLICM.cpp
Log Message:
-----------
[MachineLICM] Remove CurPreheader parameter that is always nullptr (#135554)
Also, rename `getCurPreheader` -> `getOrCreatePreheader` to make it
clear that this method may alter CFG.
Update `Changed` if the method modified a loop by splitting a critical
edge (this change is not strictly NFC).
The removed parameter was probably intended to save compile time by not
trying to a critical edge after the first attempt has failed, but it is
only tried once per loop.
PR: https://github.com/llvm/llvm-project/pull/135554
Commit: 8c22f569b3b19450034832769ef77d5b2ec997d7
https://github.com/llvm/llvm-project/commit/8c22f569b3b19450034832769ef77d5b2ec997d7
Author: Matt <mattstark75 at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/test/Modules/safe_buffers_optout.cpp
Log Message:
-----------
[Fix] Speedup -Wunsafe-buffer-usage when using clang modules. (#127161)
Each piece of code should have analysis run on it precisely once.
However, if you build a module, and then build another module depending
on it, the header file of the module you depend on will have
`-Wunsafe-buffer-usage` run on it twice. This normally isn't a huge
issue, but in the case of using the standard library as a module, simply
adding the line `#include <cstddef>` increases compile times by 900ms
(from 100ms to 1 second) on my machine. I believe this is because the
standard library has massive modules, of which only a small part is used
(the AST is ~700k lines), and because if what I've been told is correct,
the AST is lazily generated, and `-Wunsafe-buffer-usage` forces it to be
evaluated every time.
See https://issues.chromium.org/issues/351909443 for details and
benchmarks.
Commit: 984ec70b61cb57b00e622a21b259aaf11775c5f0
https://github.com/llvm/llvm-project/commit/984ec70b61cb57b00e622a21b259aaf11775c5f0
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/docs/ControlFlowIntegrity.rst
Log Message:
-----------
Minor documentation update.
Commit: 1cf9f764ac41fb3492e10c78640dd50e616388db
https://github.com/llvm/llvm-project/commit/1cf9f764ac41fb3492e10c78640dd50e616388db
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/include/clang/Frontend/CompilerInstance.h
M clang/lib/Frontend/CompilerInstance.cpp
Log Message:
-----------
[clang][frontend] Make `CompilerInstance::FailedModules` thread-safe (#135473)
This PR makes some progress towards making it possible to create clones
of `CompilerInstance` that are independent of each other and can be used
in a multi-threaded setting. This PR tackles
`CompilerInstance::FailedModules`, makes it a value-type instead of a
mutable shared pointer, and adds explicit copies & moves where
appropriate.
Besides that change, this PR also turns two previously free functions
with internal linkage into member functions of `CompilerInstance`, which
makes it possible to reduce the public API of that class that relates to
`FailedModules`. This reduces some API churn that was necessary for each
new member of `CompilerInstance` that needs to be cloned.
Commit: ab58bcfac43d1bf352d7129b786e9c7f28e81fdf
https://github.com/llvm/llvm-project/commit/ab58bcfac43d1bf352d7129b786e9c7f28e81fdf
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/tools/llvm-debuginfo-analyzer/llvm-debuginfo-analyzer.cpp
M llvm/tools/llvm-nm/llvm-nm.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-rc/llvm-rc.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[tools] Use llvm::append_range (NFC) (#135721)
Commit: 62ef10a0f62c668e1fa7e357f56052f3364544c5
https://github.com/llvm/llvm-project/commit/62ef10a0f62c668e1fa7e357f56052f3364544c5
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
Log Message:
-----------
[AMDGPU][GlobalISel] Properly handle lane op lowering for larger vector types (#132358)
Fixes https://github.com/llvm/llvm-project/issues/128650
Also adds few previously existing permlane64 tests which somehow got
removed in between.
Commit: eb7f51485e8060a390a36a61a30a6f4332c24aae
https://github.com/llvm/llvm-project/commit/eb7f51485e8060a390a36a61a30a6f4332c24aae
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/include/mlir/Analysis/Presburger/GeneratingFunction.h
M mlir/lib/Analysis/Presburger/Barvinok.cpp
M mlir/lib/Analysis/Presburger/QuasiPolynomial.cpp
M mlir/lib/Analysis/Presburger/Simplex.cpp
M mlir/lib/Bytecode/Writer/BytecodeWriter.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
M mlir/lib/Query/Query.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.cpp
M mlir/lib/Tools/tblgen-lsp-server/TableGenServer.cpp
Log Message:
-----------
[mlir] Use llvm::append_range (NFC) (#135722)
Commit: 01c1c78103d026d0d0007ae7b7d54b36edef1324
https://github.com/llvm/llvm-project/commit/01c1c78103d026d0d0007ae7b7d54b36edef1324
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/NewGVN.cpp
Log Message:
-----------
[Scalar] Construct SmallVector with an iterator range (NFC) (#135725)
Commit: 2538c607e903a1fe0cfcacd5732235cc8ff3adf7
https://github.com/llvm/llvm-project/commit/2538c607e903a1fe0cfcacd5732235cc8ff3adf7
Author: Reid Kleckner <rnk at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/Target/TargetMachine.h
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/X86/X86Subtarget.cpp
M llvm/lib/Target/X86/X86Subtarget.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
Log Message:
-----------
[CodeGen] Prune headers and move code out of line for build efficiency, NFC (#135622)
I noticed these destructors taking time with -ftime-trace and moved some
of them for minor build efficiency improvements.
The main impact of moving destructors out of line is that it avoids
requiring container fields containing other types from being complete,
i.e. one can have uptr<T> or vector<T> as a field with an incomplete
type T, and that means we can reduce transitive includes, as with
LegalizerInfo.h.
Move expensive getDebugOperandsForReg template out-of-line. The
std::function instantiation shows up in time trace even if you don't use
the function.
Commit: f46cea5b42ed4d05fd11dc1e693ddc6153769cde
https://github.com/llvm/llvm-project/commit/f46cea5b42ed4d05fd11dc1e693ddc6153769cde
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
Log Message:
-----------
Revert "[AMDGPU][GlobalISel] Properly handle lane op lowering for larger vector types (#132358)"
This reverts commit 62ef10a0f62c668e1fa7e357f56052f3364544c5.
Multiple buildbot failures have been reported:
https://github.com/llvm/llvm-project/pull/132358
Commit: a388395b869ada3a4d104aa9963fa233b45522ea
https://github.com/llvm/llvm-project/commit/a388395b869ada3a4d104aa9963fa233b45522ea
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/StackFrameLayoutAnalysisPass.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/StackFrameLayoutAnalysisPass.cpp
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[CodeGen][NPM] Port StackFrameLayoutAnalysisPass to NPM (#130070)
Commit: fceb9cecdf6264eb773ee826b72a51a9ec68ec74
https://github.com/llvm/llvm-project/commit/fceb9cecdf6264eb773ee826b72a51a9ec68ec74
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/InternalsManual.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/C/C11/n1285.c
M clang/test/CodeGenCXX/sections.cpp
A clang/test/FixIt/fixit-bool.cpp
M clang/test/Modules/odr_hash.cpp
M clang/test/OpenMP/declare_variant_messages.c
M clang/test/OpenMP/declare_variant_messages.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/distribute_simd_linear_messages.cpp
M clang/test/OpenMP/for_linear_messages.cpp
M clang/test/OpenMP/for_simd_linear_messages.cpp
M clang/test/OpenMP/for_simd_misc_messages.c
M clang/test/OpenMP/masked_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/master_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/parallel_for_linear_messages.cpp
M clang/test/OpenMP/parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/parallel_for_simd_misc_messages.c
M clang/test/OpenMP/parallel_masked_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/simd_linear_messages.cpp
M clang/test/OpenMP/simd_misc_messages.c
M clang/test/OpenMP/target_parallel_for_linear_messages.cpp
M clang/test/OpenMP/target_parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/target_simd_linear_messages.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/target_teams_distribute_simd_linear_messages.cpp
M clang/test/OpenMP/task_affinity_messages.cpp
M clang/test/OpenMP/task_depend_messages.cpp
M clang/test/OpenMP/taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/teams_distribute_simd_linear_messages.cpp
M clang/test/Sema/code_align.c
M clang/test/Sema/warn-int-in-bool-context.c
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/SemaCXX/attr-lifetime-capture-by.cpp
M clang/test/SemaCXX/attr-lifetimebound.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/warn-dangling-local.cpp
M clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/select-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/splitdouble-errors.hlsl
M clang/test/SemaHLSL/Language/OutputParameters.hlsl
M clang/test/SemaHLSL/parameter_modifiers.hlsl
M clang/test/SemaOpenCL/to_addr_builtin.cl
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
Log Message:
-----------
[clang] consistently quote expressions in diagnostics (#134769)
Commit: 17b4cacbd48b75a6a4c9dfe687dd39f5e88189c3
https://github.com/llvm/llvm-project/commit/17b4cacbd48b75a6a4c9dfe687dd39f5e88189c3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll
M llvm/test/CodeGen/X86/pr134602.ll
Log Message:
-----------
[DAG] isSplatValue - only treat binop splats shared undef elements as undef (#135597)
#134602 demonstrated an issue where an AND node always had at least one demanded UNDEF element in either operand, and incorrectly reported this an all-undef result - despite the other element being 0 (so would correctly fold to 0).
This fix only assumes a binops splats element is undefined if both operands are undef.
Fixes #134602
Commit: 0f526498a1b0819055d1094fd9850fdbcab5b903
https://github.com/llvm/llvm-project/commit/0f526498a1b0819055d1094fd9850fdbcab5b903
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/FileEntry.h
M clang/lib/Basic/FileManager.cpp
M clang/lib/Lex/PPDirectives.cpp
A clang/test/Preprocessor/embed-reject-device-files-lin.c
A clang/test/Preprocessor/embed-reject-device-files-win.c
Log Message:
-----------
[clang] Reject character devices in #embed for now (#135370)
See https://github.com/llvm/llvm-project/issues/126629 . Right now they
are not supported properly and support requires modifying several layers
of LLVM. For now simply reject them while proper support is being
developed to avoid potential security problems.
Commit: 06da00ae2d116bb2c4063b124429c2d29eb69d87
https://github.com/llvm/llvm-project/commit/06da00ae2d116bb2c4063b124429c2d29eb69d87
Author: Jack Styles <jack.styles at arm.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/test/CodeGen/arm-target-features.c
M clang/test/Driver/print-supported-extensions-arm.c
M clang/test/Preprocessor/arm-target-features.c
M llvm/include/llvm/TargetParser/ARMTargetParser.def
M llvm/include/llvm/TargetParser/ARMTargetParser.h
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
M llvm/lib/TargetParser/ARMTargetParser.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[ARM][Clang] Make `+nosimd` functional for AArch32 Targets (#130623)
`+simd` and `+nosimd` are used to enable or disable NEON Instructions
when compiling for ARM Targets. However, up until now, using these
has not been possible. To enable this, these options are mapped to the
relevant LLVM backend option (`+neon` and `-neon`) so it can be both
enabled and disabled successfully by the user.
Tests have been added to ensure this behaviour is maintained in the
future, along with updates to existing tests as behaviour has now changed
relating to the use of `+simd` and `+nosimd`.
As `simd` has been mapped within the ARMTargetParser.def, support for
this extension is also added for the `--print-support-extensions` command
when the target is AArch32. This will print the `simd` option, along with the
description that relates to the Neon feature. This previously was not
possible as `simd` did not have a related Feature or Negative Feature.
To make this functional as intended, MVE and MVE.FP now rely on their
own Enum identifier, rather than `AEK_SIMD`. While SIMD does refer to
both Neon and Helium technologies, in terms of command line options,
SIMD relates to Neon. Helium relates to MVE and MVE.FP. The Enum
now reflects this too.
Commit: ccbbb1722fc4b53a75dda59b613d7aea0a47b506
https://github.com/llvm/llvm-project/commit/ccbbb1722fc4b53a75dda59b613d7aea0a47b506
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/include/mlir/Analysis/DataFlow/DenseAnalysis.h
M mlir/include/mlir/Analysis/DataFlowFramework.h
M mlir/lib/Analysis/DataFlow/DenseAnalysis.cpp
M mlir/lib/Analysis/DataFlowFramework.cpp
M mlir/test/lib/Analysis/DataFlow/TestDenseBackwardDataFlowAnalysis.cpp
M mlir/test/lib/Analysis/DataFlow/TestDenseForwardDataFlowAnalysis.cpp
Log Message:
-----------
[mlir] [dataflow] : Improve the time and space footprint of data flow. (#135325)
MLIR's data flow analysis (especially dense data flow analysis)
constructs a lattice at every lattice anchor (which, for dense data
flow, means every program point). As the program grows larger, the time
and space complexity can become unmanageable.
However, in many programs, the lattice values at numerous lattice
anchors are actually identical. We can leverage this observation to
improve the complexity of data flow analysis. This patch introducing
equivalence lattice anchor to group lattice anchors that must contains
identical lattice on certain state to improve the time and space
footprint of data flow.
Commit: 3266f9c3d6ae07289d0253d1efeb3d951830105c
https://github.com/llvm/llvm-project/commit/3266f9c3d6ae07289d0253d1efeb3d951830105c
Author: Timothy Hoffman <4001421+tim-hoffman at users.noreply.github.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
M mlir/docs/Traits/_index.md
M mlir/include/mlir/IR/BuiltinAttributeInterfaces.td
M mlir/lib/IR/SymbolTable.cpp
Log Message:
-----------
[MLIR] Documentation updates and typo fixes (#125273)
Commit: 440ae4be5be421a54b82f60899c1bc17d7fbc0c3
https://github.com/llvm/llvm-project/commit/440ae4be5be421a54b82f60899c1bc17d7fbc0c3
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/docs/CodeOfConduct.rst
Log Message:
-----------
[doc][CoC] Update committee members list (#135594)
The list of Code of Conduct committee member names was out of date. This
updates it, and orders them alphabetically by last name.
Commit: 17ac7e0e844331d6c4530a678e41ed109766947e
https://github.com/llvm/llvm-project/commit/17ac7e0e844331d6c4530a678e41ed109766947e
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86InstrArithmetic.td
M llvm/test/CodeGen/X86/lea-8bit.ll
Log Message:
-----------
[X86][APX] Fix a typo in LEA suffix (#135734)
Found during reviewing #135632
Commit: 1ee8fe810fab9f660b72585a782a449c8f83d8e6
https://github.com/llvm/llvm-project/commit/1ee8fe810fab9f660b72585a782a449c8f83d8e6
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/lib/Basic/Targets/Mips.cpp
M clang/test/Driver/mips-abi.c
Log Message:
-----------
[Mips] Fix clang compile error when -march=p5600 with -mmsa (#132679)
When -march=p5600 with -mmsa, the result of getISARev is 0, so report
error. Append p5600 to cases mips32r5.
Fix #91948.
Commit: b4017d814217160fa776ca05afc711770a13ac13
https://github.com/llvm/llvm-project/commit/b4017d814217160fa776ca05afc711770a13ac13
Author: David Green <david.green at arm.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/neon-extmul.ll
Log Message:
-----------
[AArch64][GlobalISel] Improve MULL generation (#112405)
This splits the existing post-legalize lowering of vector umull/smull
into two parts - one to perform the optimization of mul(ext,ext) -> mull
and one to perform the v2i64 mul scalarization. The mull part is moved
to post legalizer combine and has been taught a few extra tricks from
SDAG, using known bits to convert mul(sext, zext) or mul(zext,
zero-upper-bits) into umull. This can be important to prevent v2i64
scalarization of muls.
Commit: 5307040473d9b4d78a9031fb072c1261275aa87e
https://github.com/llvm/llvm-project/commit/5307040473d9b4d78a9031fb072c1261275aa87e
Author: Iris <0.0 at owo.li>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
Log Message:
-----------
[NFC] Fix auto* warning (#135765)
Commit: 0f86e2395e4f22bf3cb05e38be05b90575066829
https://github.com/llvm/llvm-project/commit/0f86e2395e4f22bf3cb05e38be05b90575066829
Author: Miguel Saldivar <miguel.saldivar at hpe.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
A flang/test/HLFIR/minval-maxval-issue-134308.fir
Log Message:
-----------
[flang] Avoid optimizing min and max if not valid type (#134972)
In `makeMinMaxInitValGenerator` it explicitly checks for only
`FloatType` and `IntegerType`, so we shouldn't match if we don't have
either of those types.
Fix for #134308
Commit: e65faed187485db3638aa6415f7e9df053623dcf
https://github.com/llvm/llvm-project/commit/e65faed187485db3638aa6415f7e9df053623dcf
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Combine.td
Log Message:
-----------
[AArch64] Fix a warning
This patch fixes:
lib/Target/AArch64/AArch64GenPostLegalizeGILowering.inc:570:42:
error: unused variable 'GIMatchData_matchinfo'
[-Werror,-Wunused-variable]
Commit: 96e38766118c62ed42ddedd4642284cdca12904e
https://github.com/llvm/llvm-project/commit/96e38766118c62ed42ddedd4642284cdca12904e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
Log Message:
-----------
[AsmPrinter] Migrate away from PointerUnion::dyn_cast (NFC) (#135740)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
We use dyn_cast_if_present here because Bound can be null.
Commit: 00eaff3e9c897c263a879416d0f151d7ca7eeaff
https://github.com/llvm/llvm-project/commit/00eaff3e9c897c263a879416d0f151d7ca7eeaff
Author: Andrei Golubev <andrey.golubev at intel.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
A mlir/include/mlir/Dialect/Bufferization/IR/BufferizationTypeInterfaces.h
A mlir/include/mlir/Dialect/Bufferization/IR/BufferizationTypeInterfaces.td
M mlir/include/mlir/Dialect/Bufferization/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
M mlir/lib/Dialect/Bufferization/IR/BufferizationDialect.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
A mlir/test/Dialect/Bufferization/Transforms/tensorlike-bufferlike.mlir
M mlir/test/lib/Dialect/Bufferization/CMakeLists.txt
A mlir/test/lib/Dialect/Bufferization/TestTensorLikeAndBufferLike.cpp
M mlir/test/lib/Dialect/Test/CMakeLists.txt
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lib/Dialect/Test/TestTypes.h
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir][bufferization] Add tensor-like and buffer-like interfaces (#134220)
Current one-shot bufferization infrastructure operates on top of
TensorType and BaseMemRefType. These are non-extensible base classes of
the respective builtins: tensor and memref. Thus, the infrastructure is
bound to work only with builtin tensor/memref types. At the same time,
there are customization points that allow one to provide custom logic to
control the bufferization behavior.
This patch introduces new type interfaces: tensor-like and buffer-like
that aim to supersede TensorType/BaseMemRefType within the bufferization
dialect and allow custom tensors / memrefs to be used. Additionally,
these new type interfaces are attached to the respective builtin types
so that the switch is seamless.
Note that this patch does very minimal initial work, it does NOT
refactor bufferization infrastructure.
See https://discourse.llvm.org/t/rfc-changing-base-types-for-tensors-and-memrefs-from-c-base-classes-to-type-interfaces/85509
Commit: 81499edb30665d377a680990ef3c5129f9b54261
https://github.com/llvm/llvm-project/commit/81499edb30665d377a680990ef3c5129f9b54261
Author: Vy Nguyen <vyng at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M lldb/source/Target/Process.cpp
M lldb/source/Target/Target.cpp
Log Message:
-----------
[NFC][lldb]Fix stack-use-after-free bugs in exit-callbacks. (#135763)
Commit: 03b0f55d9c6319a851a60bb084faca0e32a38f2b
https://github.com/llvm/llvm-project/commit/03b0f55d9c6319a851a60bb084faca0e32a38f2b
Author: Brian Cody <brian.j.cody at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_type.py
M clang/docs/ReleaseNotes.rst
M clang/include/clang-c/Index.h
M clang/tools/libclang/CXType.cpp
M clang/tools/libclang/libclang.map
Log Message:
-----------
[cindex] Add support for calling getFullyQualifiedName to the Python binding. (#135420)
We're coming from llvm 11. There was a change made back in 15f3cd6 that
changed how type spelling works. Previous we were given namespaces of
the types within the spelling, and this was necessary in our use-case.
There is a more appropriate function available but it was not being
exposed over the Python bindings. This PR is intended to make make this
already-existing functionality accessible.
---------
Co-authored-by: Jannick Kremer <jannick.kremer at mailbox.org>
Commit: 7eae1a4d1fd84e87eb31ea263d0df838cce8fa1b
https://github.com/llvm/llvm-project/commit/7eae1a4d1fd84e87eb31ea263d0df838cce8fa1b
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github][CI] Name premerge artifacts per OS
This patch renames premerge artifacts per OS. Without this, the premerge
artifacts will conflict with each other and the slower running job will
fail to upload the artifact.
Commit: 38faf32d23d1edb7708711d0f9e0db853ddf75a5
https://github.com/llvm/llvm-project/commit/38faf32d23d1edb7708711d0f9e0db853ddf75a5
Author: alekuz01 <aleksei.kuzmenko at arm.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M bolt/CMakeLists.txt
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/runtime/common.h
M bolt/runtime/hugify.cpp
A bolt/test/runtime/Inputs/user_func_order.txt
R bolt/test/runtime/X86/Inputs/user_func_order.txt
R bolt/test/runtime/X86/hugify.c
R bolt/test/runtime/X86/user-func-reorder.c
A bolt/test/runtime/hugify.c
A bolt/test/runtime/user-func-reorder.c
Log Message:
-----------
[BOLT] Enable hugify for AArch64 (#117158)
Add required hugify instrumentation and runtime libraries support for AArch64.
Fixes #58226
Unblocks #62695
Commit: 9a6c001b125d7d37b8f2c8b96461768c797c4e3f
https://github.com/llvm/llvm-project/commit/9a6c001b125d7d37b8f2c8b96461768c797c4e3f
Author: YLChenZ <chentongyongcz at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/lib/AST/TextNodeDumper.cpp
M clang/test/AST/ast-dump-APValue-lvalue.cpp
Log Message:
-----------
[clang][ast]: Add DynamicAllocLValue and TypeInfoLValue support to APValue::dump(). (#135178)
Closes #134996.
The crash about `TypeInfoLValue` is https://godbolt.org/z/73WY31s55.
After the patch:
```cpp
//test.cpp
#include <typeinfo>
constexpr const std::type_info* val = &typeid(int);
```
```
lambda at ubuntu22:~/test$ clang++ -std=c++20 -Xclang -ast-dump -fsyntax-only test.cpp
LValue Base=TypeInfoLValue typeid(int), Null=0, Offset=0, HasPath=1, PathLength=0, Path=()
```
```cpp
//DAtest.cpp
constexpr int *m = new int(42);
```
```
lambda at ubuntu22:~/test$ clang++ -std=c++20 -Xclang -ast-dump -fsyntax-only DAtest.cpp
LValue Base=DynamicAllocLValue 'int', Null=0, Offset=0, HasPath=1, PathLength=0, Path=()
```
Commit: 595cc960b6da7f55d64d2025abb67a9aabb01a85
https://github.com/llvm/llvm-project/commit/595cc960b6da7f55d64d2025abb67a9aabb01a85
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/test/Fir/CUDA/cuda-target-rewrite.mlir
A flang/test/Fir/target-rewrite-fmfs.fir
M flang/test/Fir/target-rewrite-selective.fir
Log Message:
-----------
[flang] Propagate fast-math flags in target-rewrite (#135723)
TargetRewritePass was dropping fast-math flags. Add the flags to the new
call ops and update tests.
Commit: ddfd81bb76c05b095c8eca7a45f71547c3df2a89
https://github.com/llvm/llvm-project/commit/ddfd81bb76c05b095c8eca7a45f71547c3df2a89
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopVersioning.h
M llvm/lib/Transforms/Utils/LoopVersioning.cpp
Log Message:
-----------
[LoopVer] Add function to get the alias_scope/noalias metadata (NFC).
Split out logic to get noalias/alias_scope metadata to separate function
in LoopVersioning. This will be used to migrate away from
annotateInstWithNoAlias in LV.
Commit: e1382b3b459d39659694ee854073bbdb1aa1d98d
https://github.com/llvm/llvm-project/commit/e1382b3b459d39659694ee854073bbdb1aa1d98d
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
R llvm/test/Transforms/SLPVectorizer/X86/BinOpSameOpcodeHelper.ll
M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
M llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
R llvm/test/Transforms/SLPVectorizer/isOpcodeOrAlt.ll
M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll
Log Message:
-----------
Revert "[SLP] Make getSameOpcode support interchangeable instructions. (#133888)"
This reverts commit 123993fd974629ca0a094918db4c21ad1c2624d0.
Commit: 535eaa4f3be5dda5cf3aa13348aac8d9a27d20f0
https://github.com/llvm/llvm-project/commit/535eaa4f3be5dda5cf3aa13348aac8d9a27d20f0
Author: earnol <earnol at users.noreply.github.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/include/clang/AST/Expr.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTest.h
Log Message:
-----------
[clang][test] Improve unit tests for Fixed point AST matchers. (#134398)
We have AST matchers for fixed point float numbers since commits
789215dc0db174c9fdd273436fdd60d8289a9fc0 and
ff9120636e9c890b4db735d252d16b92091dde55. However in those commits the
unit tests were not added. Amending the test suit by adding missing
tests.
Co-authored-by: Vladislav Aranov <vladislav.aranov at ericsson.com>
Commit: 72560e7b0d3ab30da362eccc6a7586663690fab6
https://github.com/llvm/llvm-project/commit/72560e7b0d3ab30da362eccc6a7586663690fab6
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/test/MC/AMDGPU/bf16_imm.s
M llvm/test/MC/AMDGPU/gfx11-promotions.s
M llvm/test/MC/AMDGPU/gfx1150_asm_features.s
M llvm/test/MC/AMDGPU/gfx11_asm_vinterp_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_alias.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_features.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_aliases.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_promote.s
Log Message:
-----------
[AMDGPU][MC] test update with script for gfx11/gfx12 mc test (#135527)
This is a NFC patch.
Run test update with script with --unique options for many gfx11/gfx12
mc test. This format files. This prepares for the upcoming true16 clean
up patch
Commit: bf3b3d012c6b6b4369ac76e467f7fc78ee5aaca8
https://github.com/llvm/llvm-project/commit/bf3b3d012c6b6b4369ac76e467f7fc78ee5aaca8
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/lib/Dialect/GPU/Transforms/EliminateBarriers.cpp
Log Message:
-----------
[mlir][GPU] Don't look into neighboring functions for barrier elimination (#135293)
If a `func.func` is nested in some other operation, the barrier
eliminator's recursion into parents will examine the neighbors of each
function. Therefore, don't recurse into the parent of an operation if
that operation is IsolatedFromAbove, like a func.func is.
Furthermore, define functions as a region that executes only once,
since, within the context of this pass (which runs on functions) it is
true.
Commit: 7f2587a23919c841584dce345ca42b9802410281
https://github.com/llvm/llvm-project/commit/7f2587a23919c841584dce345ca42b9802410281
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/smin-reduction-unsigned-missing-sign.ll
Log Message:
-----------
[SLP][NFC]Add a test with missing zext on signed minimum reduction, NFC
Commit: 552902455c7a3958930d4607ac8b85fd39d7c8a3
https://github.com/llvm/llvm-project/commit/552902455c7a3958930d4607ac8b85fd39d7c8a3
Author: Wenju He <wenju.he at intel.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
A libclc/clc/include/clc/integer/clc_ctz.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/integer/clc_ctz.cl
M libclc/generic/include/clc/clc.h
A libclc/generic/include/clc/integer/ctz.h
M libclc/generic/lib/SOURCES
A libclc/generic/lib/integer/ctz.cl
Log Message:
-----------
[libclc] Add ctz built-in implementation to clc and generic (#135309)
Commit: 57025b42c43b2f14f7e58692bc19cd53d1b8a45e
https://github.com/llvm/llvm-project/commit/57025b42c43b2f14f7e58692bc19cd53d1b8a45e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/smin-reduction-unsigned-missing-sign.ll
Log Message:
-----------
[SLP]Mark smin reduction as signed compare
Reduction signed min must be marked as signed compare, fixing the
analysis for the cases, where the incoming arguments are unsigned.
Fixes #133943
Commit: 478065882303823623e1bc2d62b2a98097f9f53d
https://github.com/llvm/llvm-project/commit/478065882303823623e1bc2d62b2a98097f9f53d
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[NFC][TableGen] DecoderEmitter optimize scope stack in `Filter::emitTableEntry` (#135693)
- Create a new stack scope only in the fallthrough case.
- For the non-fallthrough cases, any fixup entries will naturally be
added to the existing scope without needing to copy them manually.
- Verified that the generated `GenDisassembler` files are identical with
and without this change.
Commit: f215a61891b0368d2d7e329bc994c9053dc3fac9
https://github.com/llvm/llvm-project/commit/f215a61891b0368d2d7e329bc994c9053dc3fac9
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
Log Message:
-----------
[mlir][linalg][vector] Refine create{Read|Write}OrMasked{Read|Write} (nfc) (#135350)
The semantics of `createReadOrMaskedRead` and `createWriteOrMaskedWrite`
are currently a bit inconsistent and not fully documented:
* The input vector sizes are passed as `readShape` and
`inputVectorSizes`, respectively — inconsistent naming.
* Currently, the input vector sizes in `createWriteOrMaskedWrite` are
not required to be complete: any missing trailing sizes are inferred
from the destination tensor. This only works when the destination
tensor is statically shaped.
* Unlike `createReadOrMaskedRead`, the documentation for
`createWriteOrMaskedWrite` does not specify that write offsets are
hard-coded to 0.
This PR only updates the documentation and unifies the naming. As such,
it is NFC.
A follow-up PR will generalize and unify the implementation to support,
for example, dynamically shaped destination tensors — a requirement for
enabling scalable vectorization of `linalg.pack` and `linalg.unpack`.
Commit: 9ab2dea61eee82faae8b85c99e889026e8b4f2c1
https://github.com/llvm/llvm-project/commit/9ab2dea61eee82faae8b85c99e889026e8b4f2c1
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Math/Transforms/AlgebraicSimplification.cpp
M mlir/test/Dialect/Math/algebraic-simplification.mlir
Log Message:
-----------
[mlir][math] powi with negative exponent should invert at the end (#135735)
Previously, an FPowI operation would invert the base *before* performing
a sequence of multiplications, but this led to discrepancies between
LLVM pow intrinsic folding and that coming from the math dialect.
See compiler-rt's version, which does the inverse at the end of the
calculation: compiler-rt/lib/builtins/powidf2.c
Commit: bcfc9f452983f9b0b14f2cda8f4d212a0821c972
https://github.com/llvm/llvm-project/commit/bcfc9f452983f9b0b14f2cda8f4d212a0821c972
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/SystemZ/revec-fix-128169.ll
A llvm/test/Transforms/SLPVectorizer/X86/revec-reduced-value-vectorized-later.ll
Log Message:
-----------
[SLP][REVEC] VectorValuesAndScales should be supported by REVEC. (#135762)
We should align REVEC with the SLP algorithm as closely as possible. For
example, by applying REVEC-specific handling when calling IRBuilder's
Create methods, performing cost analysis via TTI, and expanding shuffle
masks using transformScalarShuffleIndicesToVector.
reference commit: 3b18d47ecbaba4e519ebf0d1bc134a404a56a9da
Commit: 637f352c3edc207f6f79c16f4760d218904fb9f7
https://github.com/llvm/llvm-project/commit/637f352c3edc207f6f79c16f4760d218904fb9f7
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
Log Message:
-----------
[NFC][CostModel][AArch64] Add bf16 coverage for compare tests.
Commit: d0e4af8a88dc7a0377677000d0c92104ff215347
https://github.com/llvm/llvm-project/commit/d0e4af8a88dc7a0377677000d0c92104ff215347
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaCast.cpp
A clang/test/Sema/warn-cast-function-type-win.c
Log Message:
-----------
Silence -Wcast-function-type warnings on idiomatic Windows code (#135660)
On Windows, GetProcAddress() is the API used to dynamically load
function pointers (similar to dlsym on Linux). This API returns a
function pointer (a typedef named FARPROC), which means that casting
from the call to the eventual correct type is technically a function
type mismatch on the cast. However, because this is idiomatic code on
Windows, we should accept it unless -Wcast-function-type-strict is
passed.
This was brought up in post-commit review feedback on
https://github.com/llvm/llvm-project/pull/86131
Commit: 88b6229dc3f65876b3f627616a024cd5dbcadcb0
https://github.com/llvm/llvm-project/commit/88b6229dc3f65876b3f627616a024cd5dbcadcb0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
Log Message:
-----------
[TableGen] Remove unhelpful error messages from PseudoLoweringEmitter. (#135747)
All of the notes using the location of ResultInst will just print the
location inside of the PseudoInstExpansion class.
There was one note using the location of DI->getDef(), but knowing where
one of the two mismatched types is defined isn't helpful. The operand
types need to be the same, so the mismatch message we already printed
should be enough.
Commit: 7b5a459611212b650e863c0ad6a9fa49c07e29df
https://github.com/llvm/llvm-project/commit/7b5a459611212b650e863c0ad6a9fa49c07e29df
Author: Paul Bowen-Huggett <paulhuggett at mac.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/test/MC/RISCV/target-abi-invalid.s
Log Message:
-----------
[RISCV] Just reporting an error shouldn't generate a crash diagnostic (#134040)
Wanting to examine some of generated code, I tried MCA with the command:
~~~bash
llvm-mca -mtriple=riscv32-unknown-unknown -mcpu=rocket -iterations=300
core_list_join.s
~~~
I was greeted with the following error message:
~~~
LLVM ERROR: RV32 target requires an RV32 CPU
PLEASE submit a bug report to
https://github.com/llvm/llvm-project/issues/ and include the crash
backtrace.
Stack dump:
…
~~~
On beginning to investigate the “bug”, I discovered that the code was
simply attempting to report a user error. It used report_fatal_error()
to do so but with the “bool GenCrashDiag” argument enabled (the
default). This tiny change adds a wrapper function which calls
report_fatal_error() as before but with GenCrashDiag disabled.
Commit: a399c6926a8701083c767cbb041e22ff92e9d717
https://github.com/llvm/llvm-project/commit/a399c6926a8701083c767cbb041e22ff92e9d717
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/monolithic-linux.sh
M lldb/test/requirements.txt
Log Message:
-----------
[CI] monolithic-linux improvements (#135499)
Some improvements to monolithic-linux CI:
1) Add correct configuration and dependencies for LLDB testing which
is actually relevant for clang changes.
2) Skip clang installation and separate configuration for runtimes.
They will be built with the just built clang either way.
This avoids building the runtimes twice when LLDB is also tested.
3) Make sure any generated clang reproducers end up as artifacts.
4) Set up llvm-symbolizer environment variable so that its preferred
over
any symbolizer just built, as it can be much slower when built for
debugging.
5) Add all projects as dependencies of `.ci`, to make sure everything is
tested when it changes.
Commit: 289baf1f42c8b5773271b611cd235d4ab94bb4e8
https://github.com/llvm/llvm-project/commit/289baf1f42c8b5773271b611cd235d4ab94bb4e8
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/Expr.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
Log Message:
-----------
[clang][AST] Handle implicit first argument in CallExpr::getBeginLoc() (#135757)
Fixes https://github.com/llvm/llvm-project/issues/135522
Commit: d41e517748e2dbb51e27bed217f3dd7a4c4fb86f
https://github.com/llvm/llvm-project/commit/d41e517748e2dbb51e27bed217f3dd7a4c4fb86f
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
A llvm/test/Transforms/SLPVectorizer/X86/BinOpSameOpcodeHelper.ll
M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
M llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
A llvm/test/Transforms/SLPVectorizer/bbi-106161.ll
A llvm/test/Transforms/SLPVectorizer/isOpcodeOrAlt.ll
M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll
Log Message:
-----------
[SLP] Make getSameOpcode support interchangeable instructions. (#135797)
We use the term "interchangeable instructions" to refer to different
operators that have the same meaning (e.g., `add x, 0` is equivalent to
`mul x, 1`).
Non-constant values are not supported, as they may incur high costs with
little benefit.
---------
Co-authored-by: Alexey Bataev <a.bataev at gmx.com>
Commit: c8121b99a99fe1785add732aa062039b7c5fdd32
https://github.com/llvm/llvm-project/commit/c8121b99a99fe1785add732aa062039b7c5fdd32
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-15 (Tue, 15 Apr 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/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcilb-invalid.s
M llvm/test/MC/RISCV/xqcilb-relocations.s
Log Message:
-----------
[RISCV] Xqcilb: remove RISCVMCExpr::VK_QC_E_JUMP_PLT and drop `@plt` parsing
Follow-up to the just landed #135044 . Remove `@plt` parsing (only
needed by legacy `call foo at plt`). MCParser's `@` parsing is problematic.
Supporting target variations like (`foo+2 at plt foo at plt+2 (foo+2)@plt`)
involves messy hacks. We should refrain from adding new `@` uses.
Remove unneeded `RISCVMCExpr::VK_QC_E_JUMP_PLT` (should only be used
when an instruction might have multiple reasonable relocations
https://maskray.me/blog/2025-03-16-relocation-generation-in-assemblers).
---
GCC's initial initial RISC-V port made a mistake by having both `call
foo` (non-PIC) and `call foo at plt` (PIC), likely misled by x86/SystemZ.
It was determined that the `@plt` was not needed. Since R_RISCV_CALL had
questionable undefined weak semantics in GNU ld (which has been removed
then), we kept R_RISCV_CALL_PLT and deprecated R_RISCV_CALL.
For RISC-V instructions, we only keep `@` in call/jump for backward
compatibility and discourage it for all other instructions.
(
There is disagreement about whether `PLT` in `JUMP_PLT` is useful or
misleading.
MaskRay's opnion: For new branch relocations with procedure call
semantics, use `_CALL` and avoid `_PLT` in the relocation name.
`_PLT` should only be used in data directives (e.g. R_RISCV_PLT32) to
indicate that the address of a function is not significant.
)
Pull Request: https://github.com/llvm/llvm-project/pull/135507
Commit: 98534eee847dfa80ff88b213a628a6149f8754d9
https://github.com/llvm/llvm-project/commit/98534eee847dfa80ff88b213a628a6149f8754d9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir] Migrate away from PointerUnion::dyn_cast (NFC) (#135770)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we have a call to dyn_cast earlier in the function, implying
that attrOrProp is nonnull.
Commit: ece10a64cb180ba931b60cbd939d80412973eada
https://github.com/llvm/llvm-project/commit/ece10a64cb180ba931b60cbd939d80412973eada
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
A clang/test/Sema/attr-decl-after-definition-std.c
Log Message:
-----------
Allow some attributes on declarations after definitions (#135791)
The deprecated, maybe_unused, and nodiscard standard attributes may all
be applied to a redeclaration after a definition has already appeared.
We were previously dropping the attribute in that case, now we retain
the attribute after the redeclaration.
Note: someday we may want to tablegen this as part of information from
Attr.td. We may also want to relax the restriction here so that the
syntax used does not matter. This is an intentionally conservative fix.
Fixes #135481
Commit: a9553990fb6de8b4d99d05c95fe949deef6357e1
https://github.com/llvm/llvm-project/commit/a9553990fb6de8b4d99d05c95fe949deef6357e1
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/test/tools/dsymutil/ARM/stmt-seq-macho.test
R llvm/test/tools/dsymutil/Inputs/private/tmp/stmt_seq/stmt_seq_macho.exe
R llvm/test/tools/dsymutil/Inputs/private/tmp/stmt_seq/stmt_seq_macho.o
Log Message:
-----------
[DWARFLinker] Update `stmt-seq-macho.test` to use `update_test_body.py` (#133363)
In this change we update DWARFLinker test
`llvm/test/tools/dsymutil/ARM/stmt-seq-macho.test` to be self-contained
and easy to regenerate via `update_test_body.py`. As relating to [this
comment](https://github.com/llvm/llvm-project/pull/132875/files#r2012471834)
- this would be approach nr.2
Updating the test can be done via:
```
PATH=/path/to/llvm/bin:$PATH llvm/utils/update_test_body.py llvm/test/tools/dsymutil/ARM/stmt-seq-macho.test
```
Commit: 40050888a11a92a2fbf4da5dda5956ca9ecb6b55
https://github.com/llvm/llvm-project/commit/40050888a11a92a2fbf4da5dda5956ca9ecb6b55
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
Log Message:
-----------
[clang][depscan] Centralize logic for populating StableDirs, NFC (#135704)
Pass a reference to `StableDirs` when creating ModuleDepCollector. This
avoids needing to create one from the same ScanInstance for each call to
`handleTopLevelModule` & reduces the amount of potential downstream
changes needed for handling StableDirs.
Commit: 3192ecfa89a48b5f56ff36956abe7e84327ced5d
https://github.com/llvm/llvm-project/commit/3192ecfa89a48b5f56ff36956abe7e84327ced5d
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/test/CodeCompletion/member-access.c
Log Message:
-----------
[CodeComplete] Don't drop ArrayToPointerDecay when doing member completion (#134951)
Fixes https://github.com/llvm/llvm-project/issues/123146.
rdar://138851576
Commit: 1545f1139127b92be15fcd2964114028a2d07194
https://github.com/llvm/llvm-project/commit/1545f1139127b92be15fcd2964114028a2d07194
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
Log Message:
-----------
[NFC][NVPTX] Use StringRef for Modifier arg in NVPTXInstPrinter (#135793)
- Use StringRef type for Modifier instead of const char *.
- Remove Modifier arg from functions that do not need them.
Commit: 68383fc20880f2d6ec6618d8870cd89e727bdc19
https://github.com/llvm/llvm-project/commit/68383fc20880f2d6ec6618d8870cd89e727bdc19
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-algorithm.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/trivially-destructible.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/type-promotion-in-math-fn.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/delete-null-pointer.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-no-warn.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-hungarian-notation-lower-case-prefix.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-outofline.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration-cxx17.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration.c
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration-ignore-macros.cpp
Log Message:
-----------
[NFC][clang-tidy] Remove {{^}} clauses in some tests (1/N) (#134737)
`check_clang_tidy` now matches full lines only, so `{{^}}` clauses are
no longer necessary.
I am splitting those changes over multiple PRs to make review easier.
Numbering them but the actual order doesn't matter.
Commit: 7a41761407c485d18b7d48232b308556b3b43934
https://github.com/llvm/llvm-project/commit/7a41761407c485d18b7d48232b308556b3b43934
Author: Wanyi <wanyi at meta.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/source/API/SBProcess.cpp
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ThreadsRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
Log Message:
-----------
[lldb] Make SBProcess thread related actions listen to StopLocker (#134339)
# Summary
This PR updates `SBProcess::GetNumThreads()` and
`SBProcess::GetThreadAtIndex()` to listen to the stop locker.
`SBProcess::GetNumThreads()` will return 0 if the process is running.
## Problem Description
Recently upon debugging a program with thousands of threads in VS Code,
lldb-dap would hang at a `threads` request sent right after receiving
the `configurationDone` response. Soon after it will end the debug
session with the following error
```
Process <pid> exited with status = -1 (0xffffffff) lost connection
```
This is because LLDB is still in the middle of resuming all the threads.
And requesting threads will end up interrupt the process on Linux. From
the gdb-remote log it ended up getting `lldb::StateType::eStateInvalid`
and just exit with status -1.
I don't think it's reasonable to allow getting threads from a running
process. There are a few approaches to fix this:
1) Send the stopped event to IDE after `configurationDone`. This aligns
with the CLI behavior.
2) However, the above approach will break the existing user facing
behavior. The alternative will be reject the `threads` request if the
process is not stopped.
3) Improve the run lock. This is a synchronize issue where process was
in the middle of resuming while lldb-dap attempts to interrupt it.
**This PR implements the option 3**
## HOWEVER
This fixed the "lost connection" issue below but new issue has surfaced.
>From testing, and also from checking the [VSCode source
code](https://github.com/microsoft/vscode/blob/174af221c9ea2ccdb64abe4aab8e1a805e77beae/src/vs/workbench/contrib/debug/browser/debugSession.ts#L791),
it expects having threadID to perform `pause`. So after attaching,
without any threads reported to the client, the user will not be able to
pause the attached process. `setBreakpoint` will still work and once we
make a stop at the bp (or any stop that will report threads, client can
perform pause again.
## NEXT
1) Made an attempt to return initial thread list so that VSCode can
pause (second commit in the PR)
2) Investigate why threads will trigger unwinding the second frame of a
thread, which leads to sending the interrupt
3) Decided if we want to support `stopOnEntry` for attaching, given
i. This is not an official specification
ii. If enable stopOnEntry, we need to fix attaching on Linux, to send
only one stopped event. Currently, all threads upon attaching will have
stop reason `SIGSTOP` and lldb-dap will send `stopped` event for each
one of them. Every `stopped` will trigger the client request for
threads.
iii. Alternatively, we can support auto continue correspond to `(lldb)
process attach --continue`. This require the ii above.
### Additionally
lldb-dap will not send a `continued` event after `configurationDone`
because it checks `dap.focus_tid == LLDB_INVALID_THREAD_ID` (so that we
don't send it for `launch` request). Notice `dap.focus_tid` will only
get assigned when handling stop or stepping.
According to DAP
> Please note: a debug adapter is not expected to send this event in
response to a request that implies that execution continues, e.g. launch
or continue.
It is only necessary to send a continued event if there was no previous
request that implied this.
So I guess we are not violating DAP if we don't send `continued` event.
But I'd like to get some sense about this.
## Test Plan
Used following program for testing:
https://gist.github.com/kusmour/1729d2e07b7b1063897db77de194e47d
**NOTE: Utilize stdin to get pid and attach AFTER hitting enter. Attach
should happen when all the threads start running.**
DAP messages before the change
<img width="1165" alt="image"
src="https://github.com/user-attachments/assets/a9ad85fb-81ce-419c-95e5-612639905c66"
/>
DAP message after the change - report zero threads after attaching
<img width="1165" alt="image"
src="https://github.com/user-attachments/assets/a1179e18-6844-437a-938c-0383702294cd"
/>
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 9b13d345303d819bb83de7ebbeb826d704add0bc
https://github.com/llvm/llvm-project/commit/9b13d345303d819bb83de7ebbeb826d704add0bc
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
Log Message:
-----------
[libc][bazel] Remove a no-op libc_internal_target macro. (#135818)
This macro is a no-op after 90c001ac9e1d92a1a95d191d1640ab5337a937e5:
libc_function macro now produce a "regular" cc_library target, without
modifying its name, and this target is intended to only be used in
tests.
Thus, libc_internal_target macro is no longer needed, and we can safely
treat libc_function rules and libc_support_library rules identically for
test purposes.
`libc_function_deps` attribute of a `libc_test` macro can also be
cleaned up, but I plan to do this in a subsequent change.
Commit: 3b9103044361094a8fde16a877f2e8cb0f96ce24
https://github.com/llvm/llvm-project/commit/3b9103044361094a8fde16a877f2e8cb0f96ce24
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
A llvm/docs/InterfaceExportAnnotations.rst
M llvm/docs/Reference.rst
Log Message:
-----------
[llvm] add documentation for public interface annotations (LLVM_ABI, etc)
## Purpose
Add documentation for the existing family of `LLVM_ABI` annotation
macros defined in llvm/Support/Compiler.h. These annotations are used to
describe LLVM's public interface.
## Background
This documentation is in support of the annotation effort described
[here](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307/).
## Validation
Manually inspected rendered ReST document on GitHub.
Co-authored-by: Saleem Abdulrasool <compnerd at compnerd.org>
Commit: 30d13e359190f7a0e2122292ec4a4fc1a6c71acc
https://github.com/llvm/llvm-project/commit/30d13e359190f7a0e2122292ec4a4fc1a6c71acc
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/test/CIR/CodeGen/array.cpp
Log Message:
-----------
[CIR] Upstream ArraySubscriptExpr from function parameter with pointer base (#135493)
This change adds an ArraySubscriptExpr from the function parameter with
base type as Pointer
Issue https://github.com/llvm/llvm-project/issues/130197
Commit: 3f58ff20fe540fbbc2e5bfea1606f8cdc00d4157
https://github.com/llvm/llvm-project/commit/3f58ff20fe540fbbc2e5bfea1606f8cdc00d4157
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
R llvm/test/CodeGen/AArch64/ptrauth-pseudo-instructions.mir
Log Message:
-----------
AArch64: Remove the PAUTH_BLEND pseudo-instruction.
It can be represented using a regular MOVK instruction
which also has the advantage of sometimes being selectable
without a preceding MOV.
Reviewers: ahmedbougacha, asl, atrosinenko
Reviewed By: atrosinenko
Pull Request: https://github.com/llvm/llvm-project/pull/134765
Commit: a5aa0c46c3274eaf25dde4d792a1abd6191cccf9
https://github.com/llvm/llvm-project/commit/a5aa0c46c3274eaf25dde4d792a1abd6191cccf9
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/ControlFlowIntegrity.rst
M clang/docs/UsersManual.rst
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
A clang/test/CodeGen/unique-source-file-names.c
A clang/test/Driver/unique-source-file-names.c
M llvm/lib/Transforms/Utils/ModuleUtils.cpp
A llvm/test/Transforms/ThinLTOBitcodeWriter/unique-source-file-names.ll
Log Message:
-----------
Introduce -funique-source-file-names flag.
The purpose of this flag is to allow the compiler to assume that each
object file passed to the linker has been compiled using a unique
source file name. This is useful for reducing link times when doing
ThinLTO in combination with whole-program devirtualization or CFI,
as it allows modules without exported symbols to be built with ThinLTO.
Reviewers: vitalybuka, teresajohnson
Reviewed By: teresajohnson
Pull Request: https://github.com/llvm/llvm-project/pull/135728
Commit: d0c973a7a0149db3b71767d4c5a20a31e6a8ed5b
https://github.com/llvm/llvm-project/commit/d0c973a7a0149db3b71767d4c5a20a31e6a8ed5b
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Stack.h
M clang/lib/Basic/Stack.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M llvm/include/llvm/Support/CrashRecoveryContext.h
A llvm/include/llvm/Support/ProgramStack.h
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/CrashRecoveryContext.cpp
A llvm/lib/Support/ProgramStack.cpp
M llvm/unittests/Support/CMakeLists.txt
A llvm/unittests/Support/ProgramStackTest.cpp
Log Message:
-----------
[llvm][clang] Allocate a new stack instead of spawning a new thread to get more stack space (#133173)
Clang spawns a new thread to avoid running out of stack space. This can
make debugging and performance analysis more difficult as how the
threads are connected is difficult to recover.
This patch introduces `runOnNewStack` and applies it in Clang. On
platforms that have good support for it this allocates a new stack and
moves to it using assembly. Doing split stacks like this actually runs
on most platforms, but many debuggers and unwinders reject the large or
backwards stack offsets that occur. Apple platforms and tools are known
to support this, so this only enables it there for now.
Commit: 429a84f8a4bf559f43f50072747ef49d3e3b2cf1
https://github.com/llvm/llvm-project/commit/429a84f8a4bf559f43f50072747ef49d3e3b2cf1
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/include/llvm/Support/ProgramStack.h
Log Message:
-----------
[clang] Fix ambiguity in `runOnNewStack`
Commit: 227f4066befadf0d10eddb39947e35dbf820b1bb
https://github.com/llvm/llvm-project/commit/227f4066befadf0d10eddb39947e35dbf820b1bb
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
Log Message:
-----------
[gn build] Port d0c973a7a014
Commit: 13615f7b506a693783764da87dc80e97cf59b95c
https://github.com/llvm/llvm-project/commit/13615f7b506a693783764da87dc80e97cf59b95c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/openacc-parsers.cpp
M flang/test/Semantics/OpenACC/acc-atomic-validity.f90
M llvm/include/llvm/Frontend/OpenACC/ACC.td
Log Message:
-----------
[flang][openacc] Allow if clause on atomic directives (#135451)
The new version of the OpenACC specification will allow the if clause on
the atomic directives. Allow it in `ACC.td` and update the parse node
and parser in flang to support it.
OpenACC dialect will need to be updated to support it as well.
Commit: 8f25e43055058a6a16bf44573feb37a9ce51dc1a
https://github.com/llvm/llvm-project/commit/8f25e43055058a6a16bf44573feb37a9ce51dc1a
Author: AdityaK <hiraditya at msn.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/lib/IR/BuiltinAttributes.cpp
Log Message:
-----------
[NFC] Rename hasSameElementsOrSplat to hasSameNumElementsOrSplat (#133183)
Makes it less confusing as this function only matches the number of
elements
Commit: 9a1ece26126363c64c67d9a6e357076e814acf9e
https://github.com/llvm/llvm-project/commit/9a1ece26126363c64c67d9a6e357076e814acf9e
Author: marius doerner <marius.doerner1 at icloud.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/test/Preprocessor/embed___has_embed.c
M clang/test/Preprocessor/has_attribute.c
M clang/test/Preprocessor/has_attribute.cpp
M clang/test/Preprocessor/has_c_attribute.c
M clang/test/Preprocessor/has_include.c
A clang/test/Preprocessor/pr133574.c
Log Message:
-----------
[clang] Clear `NeedsCleaning` flag after `ExpandBuiltinMacro` (#133574)
After builtin macro expansion in `Preprocessor::ExpandBuiltinMacro` the
result token may have the `Token::NeedsCleaning` flag set which causes
an assertion failure later on when the lexer retrieves the spelling of
the token in `getSpellingSlow`.
This commit adds an `Tok.clearFlag(Token::NeedsCleaning)` call to the
end of `ExpandBuiltinMacro`.
Closes #128384
Commit: b581bd3429b28420ff473f700fe96c18127a475d
https://github.com/llvm/llvm-project/commit/b581bd3429b28420ff473f700fe96c18127a475d
Author: Scott Manley <rscottmanley at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-private.f90
Log Message:
-----------
[flang][OpenACC] use correct type when create private box init recipe (#135698)
The recipe for initializing private box types was incorrect because
hlfir::createTempFromMold() is not a suitable utility function when the
box element type is a trivial type.
Commit: bd9c5112c750f07df2886562b227d9e2aeb338c8
https://github.com/llvm/llvm-project/commit/bd9c5112c750f07df2886562b227d9e2aeb338c8
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
A mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Add error_if checks for Transpose (#135219)
This adds missing error_if checking for Transpose Op
also moved all transpose op's verifier tests from
invalid.mlir to verifier.mlir
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: 96064e1b516aba4d7cbea2ab183b20b19b7eea86
https://github.com/llvm/llvm-project/commit/96064e1b516aba4d7cbea2ab183b20b19b7eea86
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/dynamic_extension.mlir
M mlir/test/Dialect/Tosa/error_if_check.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
Log Message:
-----------
[mlir][tosa] Add table size check for Table Op (#135262)
Add table size check for Table Op
and add lit tests to error_if_check.mlir
also corrected some existing tests that violated the table size checks
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: 4f64c80d5a23c244f942193e58ecac666c173308
https://github.com/llvm/llvm-project/commit/4f64c80d5a23c244f942193e58ecac666c173308
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/include/llvm/Support/thread.h
Log Message:
-----------
[llvm] Add missing include for !LLVM_ENABLE_THREADS
thread.h used report_fatal_error without including ErrorHandling.h
Commit: e6e56f5b6a80c6ce55630d6075475cb363afb149
https://github.com/llvm/llvm-project/commit/e6e56f5b6a80c6ce55630d6075475cb363afb149
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/Transforms/MemProfContextDisambiguation/inlined2.ll
Log Message:
-----------
[MemProf] Handle recursion during stack node update (#135837)
If we are replacing a sequence of stack nodes with a single node
representing inlined IR, and the stack id sequence contains recursion,
we may have already removed some edges. Handle this case correctly by
skipping the now removed edge.
Commit: a3283a92aea147e89d9d404fa7c8500223c7c22a
https://github.com/llvm/llvm-project/commit/a3283a92aea147e89d9d404fa7c8500223c7c22a
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/PointerAuthentication.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/ast-dump-ptrauth-json.cpp
A clang/test/CodeGen/ptrauth-debuginfo.c
A clang/test/CodeGen/ptrauth-qualifier-const-init.c
A clang/test/CodeGen/ptrauth-qualifier-function.c
A clang/test/CodeGen/ptrauth-qualifier-loadstore.c
A clang/test/CodeGenCXX/mangle-itanium-ptrauth.cpp
A clang/test/CodeGenCXX/mangle-ms-ptrauth.cpp
A clang/test/CodeGenCXX/ptrauth-qualifier-struct.cpp
A clang/test/CodeGenObjCXX/ptrauth-struct-cxx-abi.mm
A clang/test/Parser/ptrauth-qualifier.c
A clang/test/Preprocessor/ptrauth_extension.c
A clang/test/Sema/ptrauth-atomic-ops.c
A clang/test/Sema/ptrauth-qualifier.c
A clang/test/SemaCXX/ptrauth-qualifier.cpp
A clang/test/SemaCXX/ptrauth-template-parameters.cpp
A clang/test/SemaObjC/ptrauth-qualifier.m
M libcxxabi/test/test_demangle.pass.cpp
M llvm/include/llvm/Demangle/MicrosoftDemangle.h
M llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
M llvm/lib/Demangle/MicrosoftDemangle.cpp
M llvm/lib/Demangle/MicrosoftDemangleNodes.cpp
A llvm/test/Demangle/ms-ptrauth.test
Log Message:
-----------
[PAC] Add support for __ptrauth type qualifier (#100830)
The qualifier allows programmer to directly control how pointers are
signed when they are stored in a particular variable.
The qualifier takes three arguments: the signing key, a flag specifying
whether address discrimination should be used, and a non-negative
integer that is used for additional discrimination.
```
typedef void (*my_callback)(const void*);
my_callback __ptrauth(ptrauth_key_process_dependent_code, 1, 0xe27a) callback;
```
Co-Authored-By: John McCall rjmccall at apple.com
Commit: a1d52fcdca8bda4fe8c6652b2de83f408f4ad4f2
https://github.com/llvm/llvm-project/commit/a1d52fcdca8bda4fe8c6652b2de83f408f4ad4f2
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/UsersManual.rst
Log Message:
-----------
Clarify documentation for -funique-source-file-names.
Reviewers: efriedma-quic, teresajohnson
Reviewed By: teresajohnson, efriedma-quic
Pull Request: https://github.com/llvm/llvm-project/pull/135832
Commit: 2271f0bebd48c9ed8b16b500886a819c4f269a6a
https://github.com/llvm/llvm-project/commit/2271f0bebd48c9ed8b16b500886a819c4f269a6a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/split-node-full-match.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-node-no-reorder-copy.ll
Log Message:
-----------
[SLP]Check for perfect/shuffled match for the split node
If the potential split node is a perfect/shuffled match of another split
node, need to skip creation of the another split node with the same
scalars, it should be a buildvector.
Fixes #135800
Commit: 823adc7a2dc90cdd0f953f3dc9684481368f2b62
https://github.com/llvm/llvm-project/commit/823adc7a2dc90cdd0f953f3dc9684481368f2b62
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/lib/Core/BinaryFunction.cpp
A bolt/test/AArch64/validate-secondary-entry-point.s
A bolt/test/RISCV/validate-secondary-entry-point.s
Log Message:
-----------
[BOLT] Validate secondary entry point (#135731)
Some functions have their sizes as zero in input binary's symbol
table, like those compiled by assembler. When figuring out function
sizes, we may create label symbol if it doesn't point to any constant
island. However, before function size is known, marker symbol can
not be correctly associated to a function and therefore all such
checks would fail and we could end up adding a code label pointing
to constant island as secondary entry point and later mistakenly
marking the function as not simple.
Querying the global marker symbol array has big throughput overhead.
Instead we can run an extra check when post processing entry points
to identify such label symbols that actually point to constant islands.
Commit: 14cb6566d6701feaef2ffd686af5de4ff9e3eb29
https://github.com/llvm/llvm-project/commit/14cb6566d6701feaef2ffd686af5de4ff9e3eb29
Author: John Harrison <harjohn at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Protocol/ProtocolBase.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
Log Message:
-----------
[lldb-dap] Improve error reporting for dap command arguments. (#135684)
Previously the error only contained the failed to parse JSON message,
which has no additional context.
This improves the error messages and improves the consistency of
handling properties in protocol structures. Updating the fields to use
'ObjectMapper.map' instead of 'ObjectMapper.mapOptional' caught that
adapterID was misspelled as well.
For example, previously:
```
$ echo 'Content-Length: 81\r\n\r\n{"type":"request","command":"initialize","seq":1,"arguments":{"adapterID":12345}} | lldb-dap
```
Worked without an error but now it reports:
```
invalid arguments for request 'initialize': expected string at arguments.adapterID
{
"adapterID": /* error: expected string */ 12345
}
```
Commit: 85eb44e304e0a0a7da78448ceee60fdfec235edb
https://github.com/llvm/llvm-project/commit/85eb44e304e0a0a7da78448ceee60fdfec235edb
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/split-node-num-operands.ll
Log Message:
-----------
[SLP]Fix number of operands for the split node
FOr the split node number of operands should be requested via
getNumOperands() function, even if the main op is CallInst.
Commit: 2b983a24583dd4e131d727717872a56712b5dd52
https://github.com/llvm/llvm-project/commit/2b983a24583dd4e131d727717872a56712b5dd52
Author: Zhuoran Yin <zhuoryin at amd.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.td
M mlir/lib/Dialect/AMDGPU/Transforms/CMakeLists.txt
M mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp
M mlir/test/Dialect/AMDGPU/transfer-read-to-load.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[MLIR][AMDGPU] Adding dynamic size check to avoid subword buffer load (#135014)
Motivation: amdgpu buffer load instruction will return all zeros when
loading sub-word values. For example, assuming the buffer size is
exactly one word and we attempt to invoke
`llvm.amdgcn.raw.ptr.buffer.load.v2i32` starting from byte 2 of the
word, we will not receive the actual value of the buffer but all zeros
for the first word. This is because the boundary has been crossed for
the first word.
This PR come up with a fix to this problem, such that, it creates a
bounds check against the buffer load instruction. It will compare the
offset + vector size to see if the upper bound of the address will
exceed the buffer size. If it does, masked transfer read will be
optimized to `vector.load` + `arith.select`, else, it will continue to
fall back to default lowering of the masked vector load.
Commit: f83c5fe01fbee0f53ecf69d887e7a7b054f2a9ae
https://github.com/llvm/llvm-project/commit/f83c5fe01fbee0f53ecf69d887e7a7b054f2a9ae
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/CFG.h
M llvm/lib/Analysis/CFG.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
Log Message:
-----------
[nfc] Expose `canReturn` from FunctionAttrs (#135650)
This is a fairly light-weight traversal and is needed in instrumentation. No need to run the whole `FunctionAttrs` pass at this stage. To avoid layering issues, this patch factors `canRun` and related under Analysis/CFG.
Commit: 12697c5516f8a9e4407e01d99324ce6958910184
https://github.com/llvm/llvm-project/commit/12697c5516f8a9e4407e01d99324ce6958910184
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
A llvm/test/CodeGen/AArch64/pr135776.ll
Log Message:
-----------
[LegalizeTypes] Check getTypeAction before calling GetScalarizedVector. (#135838)
Use getTypeAction instead of trying to guess how a type will be
legalized. On AArch64, v1f16 is scalarized but v1f16 is widened.
Fixes #135776
Commit: ddb12674300eb1af5e6945b5447e7bff7cff4cd8
https://github.com/llvm/llvm-project/commit/ddb12674300eb1af5e6945b5447e7bff7cff4cd8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/landing-pad-for-split-node.ll
Log Message:
-----------
[SLP]Insert vector instruction after landingpad
If the node must be emitted in the landingpad block, need to insert the
instructions after the landingpad instruction to avoid a crash.
Fixes #135781
Commit: 0f3e460e06e03ce37445546457a16d6f1eee1e21
https://github.com/llvm/llvm-project/commit/0f3e460e06e03ce37445546457a16d6f1eee1e21
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/ReshapePatterns.cpp
M mlir/test/Dialect/Tensor/bubble-reshapes.mlir
Log Message:
-----------
[mlir][Tensor] Generalize the pattern to swap `tensor.collapse_shape` -> `tensor.expand_shape`. (#133819)
The current patterns compared the reassocation indices for the two ops
and failed if neither of them were of size 1. This patch relaxes this
restriction by handling a new case where the reassociation indices might
be of the same size.
Also generalizes to cases where when generating the swapped
`tensor.expand_shape` -> `tensor.collapse_shape` if one of them is
degenerate, those are not generated.
Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>
Commit: d30a5b41fe72a1dd83714d3e21fd539b91e63c8c
https://github.com/llvm/llvm-project/commit/d30a5b41fe72a1dd83714d3e21fd539b91e63c8c
Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXMips.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/select-and.ll
M llvm/test/CodeGen/RISCV/select-bare.ll
M llvm/test/CodeGen/RISCV/select-cc.ll
M llvm/test/CodeGen/RISCV/select-or.ll
M llvm/test/MC/RISCV/xmips-invalid.s
M llvm/test/MC/RISCV/xmips-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Fix xmipscmov extension name (#135647)
The right name was used in riscv-toolchain-conventions docs.
Commit: 9c73eba8aa17cb7ca4248ab1c7f67ea7ec9b50b1
https://github.com/llvm/llvm-project/commit/9c73eba8aa17cb7ca4248ab1c7f67ea7ec9b50b1
Author: Aaron Puchert <aaronpuchert at alice-dsl.net>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/lib/AST/ASTImporter.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/Sema/attr-capabilities.c
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
Merge similar Clang Thread Safety attributes (#135561)
Some of the old lock-based and new capability-based spellings behave
basically in the same way, so merging them simplifies the code
significantly.
There are two minor functional changes: we only warn (instead of an
error) when the try_acquire_capability attribute is used on something
else than a function. The alternative would have been to produce an
error for the old spelling, but we seem to only warn for all function
attributes, so this is arguably more consistent.
The second change is that we also check the first argument (which is the
value returned for a successful try-acquire) for `this`. But from what I
can tell, this code is defunct anyway at the moment (see #31414).
Commit: 7cb7b2d39d3b4aa984bfaeaf5e69fbfb074edd41
https://github.com/llvm/llvm-project/commit/7cb7b2d39d3b4aa984bfaeaf5e69fbfb074edd41
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/utils/release/build_llvm_release.bat
Log Message:
-----------
[llvm] Build Windows release package with clang-cl if possible (#135446)
If `clang-cl.exe` and `lld-link.exe` are installed in `%PATH%`, the
Windows release build script will now use these by default, in place of
MSVC. The reason for doing this is that MSVC still has, for the past
year(s), a O(N^2) behavior when building certain LLVM source files,
which leads to long build times (minutes per file). A report was filled
here:
https://developercommunity.visualstudio.com/t/ON2-in-SparseBitVectorBase-when-com/10657991
Also added a `--force-msvc` option to the script, to use MSVC even if
clang-cl is installed.
Commit: d0372179fbbcb7b3fa680a78919a980fa4384c46
https://github.com/llvm/llvm-project/commit/d0372179fbbcb7b3fa680a78919a980fa4384c46
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/CFG.h
Log Message:
-----------
[nfc] Add doc comment for `canReturn` in Analysis/CFG.h (#135862)
Commit: 2d98bdc12c291523c3543ceaf1c526e25dcaedc6
https://github.com/llvm/llvm-project/commit/2d98bdc12c291523c3543ceaf1c526e25dcaedc6
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Stack.h
M clang/lib/Basic/Stack.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M llvm/include/llvm/Support/CrashRecoveryContext.h
R llvm/include/llvm/Support/ProgramStack.h
M llvm/include/llvm/Support/thread.h
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/CrashRecoveryContext.cpp
R llvm/lib/Support/ProgramStack.cpp
M llvm/unittests/Support/CMakeLists.txt
R llvm/unittests/Support/ProgramStackTest.cpp
Log Message:
-----------
Revert "[llvm][clang] Allocate a new stack instead of spawning a new … (#135865)
…thread to get more stack space (#133173)"
This change breaks the Clang build on Mac AArch64.
This reverts commit d0c973a7a0149db3b71767d4c5a20a31e6a8ed5b. This
reverts commit 429a84f8a4bf559f43f50072747ef49d3e3b2cf1. This reverts
commit 4f64c80d5a23c244f942193e58ecac666c173308.
Commit: 8ed397d8e4d014ecc5df89a9d908c5808f201b65
https://github.com/llvm/llvm-project/commit/8ed397d8e4d014ecc5df89a9d908c5808f201b65
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AArch64/pr135821.ll
Log Message:
-----------
[DAGCombiner] Disable narrowExtractedVectorLoad for indexed loads. (#135847)
The later code does not expect or preserve the index output.
Fixes #135821
Commit: a6208ce4c15142c26c6b73651bf466ae6b470cb0
https://github.com/llvm/llvm-project/commit/a6208ce4c15142c26c6b73651bf466ae6b470cb0
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/CFG.h
M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
M llvm/lib/Analysis/CFG.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
Log Message:
-----------
[nfc] move `isPresplitCoroSuspendExitEdge` to Analysis/CFG (#135849)
Commit: 6e2bca840df9dfcffc5068c1ad0c9575f0c57e76
https://github.com/llvm/llvm-project/commit/6e2bca840df9dfcffc5068c1ad0c9575f0c57e76
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
Log Message:
-----------
[gn build] Port 2d98bdc12c29
Commit: 31f39c83259401a26b3660dd75f645002258571d
https://github.com/llvm/llvm-project/commit/31f39c83259401a26b3660dd75f645002258571d
Author: Jun Wang <jwang86 at yahoo.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/implicit-kernarg-backend-usage-global-isel.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement-stack-lower.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-global-value.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.if.break.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.trig.preop.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/udivrem.ll
M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
M llvm/test/CodeGen/AMDGPU/always-uniform.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll
M llvm/test/CodeGen/AMDGPU/amdhsa-trap-num-sgprs.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-flat-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-num-sgpr.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-waves-per-eu.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-globalisel.ll
A llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
A llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior2.ll
M llvm/test/CodeGen/AMDGPU/attributor-noopt.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-sgprs-fixed-abi.ll
M llvm/test/CodeGen/AMDGPU/code-object-v3.ll
M llvm/test/CodeGen/AMDGPU/combine-reg-or-const.ll
M llvm/test/CodeGen/AMDGPU/dagcomb-extract-vec-elt-different-sizes.ll
M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
M llvm/test/CodeGen/AMDGPU/exec-mask-opt-cannot-create-empty-or-backward-segment.ll
M llvm/test/CodeGen/AMDGPU/expand-scalar-carry-out-select-user.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i8.ll
M llvm/test/CodeGen/AMDGPU/fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.global.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
M llvm/test/CodeGen/AMDGPU/flat-for-global-subtarget-feature.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch-reg.ll
M llvm/test/CodeGen/AMDGPU/fmul-2-combine-multi-use.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
M llvm/test/CodeGen/AMDGPU/fneg.f16.ll
M llvm/test/CodeGen/AMDGPU/half.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-kernel-code-props.ll
M llvm/test/CodeGen/AMDGPU/hsa.ll
M llvm/test/CodeGen/AMDGPU/implicit-kernarg-backend-usage.ll
M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/invalid-addrspacecast.ll
M llvm/test/CodeGen/AMDGPU/invalid-cast-load-i1.ll
M llvm/test/CodeGen/AMDGPU/kernarg-size.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.private.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.shared.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.lds.kernel.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
M llvm/test/CodeGen/AMDGPU/load-constant-f64.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i64.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
M llvm/test/CodeGen/AMDGPU/load-select-ptr.ll
M llvm/test/CodeGen/AMDGPU/mad24-get-global-id.ll
M llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
M llvm/test/CodeGen/AMDGPU/memcpy-libcall.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-volatile.ll
M llvm/test/CodeGen/AMDGPU/min.ll
M llvm/test/CodeGen/AMDGPU/pack.v2f16.ll
M llvm/test/CodeGen/AMDGPU/pack.v2i16.ll
M llvm/test/CodeGen/AMDGPU/pal-simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs.ll
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
M llvm/test/CodeGen/AMDGPU/sad.ll
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.v8i16.ll
M llvm/test/CodeGen/AMDGPU/scc-clobbered-sgpr-to-vmem-spill.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spill-no-vgprs.ll
M llvm/test/CodeGen/AMDGPU/shift-i128.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/sint_to_fp.f64.ll
M llvm/test/CodeGen/AMDGPU/spill-vector-superclass.ll
M llvm/test/CodeGen/AMDGPU/store-weird-sizes.ll
M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-any.ll
M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-off.ll
M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-on.ll
M llvm/test/CodeGen/AMDGPU/trap-abis.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/uint_to_fp.f64.ll
M llvm/test/CodeGen/AMDGPU/vgpr-spill-placement-issue61083.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
Log Message:
-----------
[AMDGPU] Remove the AnnotateKernelFeatures pass (#130198)
Previously the AnnotateKernelFeatures pass infers two attributes:
amdgpu-calls and amdgpu-stack-objects, which are used to help determine
if flat scratch init is allowed. PR #118907 created the
amdgpu-no-flat-scratch-init attribute. Continuing with that work, this
patch makes use of this attribute to determine flat scratch init,
replacing amdgpu-calls and amdgpu-stack-objects. This also leads to the
removal of the AnnotateKernelFeatures pass.
Commit: 16980d5463c787a48ffb78fd9bbe3d9d32757f34
https://github.com/llvm/llvm-project/commit/16980d5463c787a48ffb78fd9bbe3d9d32757f34
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
R clang/test/CodeGenCXX/local-class-instantiation.cpp
Log Message:
-----------
Revert "[Clang] Fix dependent local class instantiation bugs" (#135870)
Reverts llvm/llvm-project#134038
This crashes clang as reported here:
https://github.com/llvm/llvm-project/pull/134038#issuecomment-2807092646
Commit: af63e1b505453de3e6a281d1b72e62fa8d396b23
https://github.com/llvm/llvm-project/commit/af63e1b505453de3e6a281d1b72e62fa8d396b23
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
Log Message:
-----------
[OpenACC][CIR] Implement 'self' lowering on compute constructs (#135851)
This is our first attempt at lowering a clause that is an 'operand' in
the OpenACC operand, so it does quite a bit of refactoring. My previous
plans on how to emit the clauses was not viable, so we instead do
'create the op, then use the visitor to fill in the operands'. This
resulted in the 'applyAttributes' function getting removed and a few
other functions simplified.
Additionally, it requires setting the insertion point a little to make
sure we're inserting 'around' the operation correctly.
Finally, since the OpenACC dialect only understands the MLIR types, we
had to introduce a use of the unrealized-conversion-cast, which we'll
probably getting good use out of in the future.
Commit: e4d951d2e42a9124bd87275a864804c4b84b62e3
https://github.com/llvm/llvm-project/commit/e4d951d2e42a9124bd87275a864804c4b84b62e3
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
Log Message:
-----------
LowerTypeTests: Fix quadratic complexity.
Currently we have quadratic complexity in LowerTypeTests because
ScopedSaveAliaseesAndUsed loops over all aliases for each disjoint
set, and the number of aliases and number of disjoint sets is
roughly proportional to the program size. Fix that by moving
ScopedSaveAliaseesAndUsed to LowerTypeTestsModule::lower() so that
we do this only once.
Reviewers: fmayer, vitalybuka
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/135875
Commit: 3428cc94c893f9a09728c707baf018b9cdfaf243
https://github.com/llvm/llvm-project/commit/3428cc94c893f9a09728c707baf018b9cdfaf243
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/extensions.cpp
M flang/include/flang/Runtime/extensions.h
Log Message:
-----------
[flang] Implement external routine usage of hostnm() (#134900)
Previously, `hostnm` extended intrinsic was implemented as proper
intrinsic. Since then we found out that some applications use `hostnm`
as external routine via `external hostnm`. This prevents `hostnm` from
being recognized as an intrinsic. This PR implements `hostnm` as
external routine.
Commit: 58c3fba7063eaca926931a412c329e9ac4deefd6
https://github.com/llvm/llvm-project/commit/58c3fba7063eaca926931a412c329e9ac4deefd6
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
Log Message:
-----------
Revert "LowerTypeTests: Fix quadratic complexity."
This reverts commit e4d951d2e42a9124bd87275a864804c4b84b62e3.
Need to investigate some test failures.
Commit: 860d0383db80ea881e957a5628d04e9d725b919d
https://github.com/llvm/llvm-project/commit/860d0383db80ea881e957a5628d04e9d725b919d
Author: Haowei <haowei at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
Log Message:
-----------
[Fuchsia] Not building llvm-mt when LIBXML2 is not enabled. (#135877)
This patch prevents including the llvm-mt to `LLVM_TOOLCHAIN_TOOLS` in the
Fuchsia toolchain when LIBXML2 is not explicitly enabled.
Commit: 6ad922b75a41911e0e394d5d367bee1240ad509f
https://github.com/llvm/llvm-project/commit/6ad922b75a41911e0e394d5d367bee1240ad509f
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
Log Message:
-----------
[OpenACC][CIR] Implement lowering for 'if' on compute constructs
This is the same for these as the 'self' was, except it doesn't support
the 'empty' variant, so we have to just generate the condition. This
patch does that, and extracts the 'condition' emission to a separate
function since the two share it.
Commit: 0b8f817aab7a242e0bfb519cb07c8979ffadef36
https://github.com/llvm/llvm-project/commit/0b8f817aab7a242e0bfb519cb07c8979ffadef36
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M bolt/runtime/hugify.cpp
Log Message:
-----------
[BOLT] Fix conditional compilation of hugify.cpp (#135880)
Fix builds after #117158: do not build hugify.cpp on Apple platforms.
Commit: bd4d3519c708d70ed8c827a27b63f13b0229ef00
https://github.com/llvm/llvm-project/commit/bd4d3519c708d70ed8c827a27b63f13b0229ef00
Author: Camsyn <camsyn at foxmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M compiler-rt/lib/asan/asan_report.cpp
A compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp
Log Message:
-----------
[ASan] Prevent ASan/LSan deadlock by preloading modules before error reporting (#131756)
### Description
This PR resolves a deadlock between AddressSanitizer (ASan) and
LeakSanitizer (LSan)
that occurs when both sanitizers attempt to acquire locks in conflicting
orders across
threads. The fix ensures safe lock acquisition ordering by preloading
module information
before error reporting.
---
### Issue Details
**Reproducer**
```cpp
// Thread 1: ASan error path
int arr[1] = {0};
std::thread t([&]() {
arr[1] = 1; // Triggers ASan OOB error
});
// Thread 2: LSan check path
__lsan_do_leak_check();
```
**Lock Order Conflict**:
- Thread 1 (ASan error reporting):
1. Acquires ASan thread registry lock (B)
1. Attempts to acquire libdl lock (A) via `dl_iterate_phdr`
- Thread 2 (LSan leak check):
1. Acquires libdl lock (A) via `dl_iterate_phdr`
1. Attempts to acquire ASan thread registry lock (B)
This creates a circular wait condition (A -> B -> A) meeting all four
Coffman deadlock criteria.
---
### Fix Strategy
The root cause lies in ASan's error reporting path needing
`dl_iterate_phdr` (requiring lock A)
while already holding its thread registry lock (B). The solution:
1. **Preload Modules Early**: Force module list initialization _before_
acquiring ASan's thread lock
2. **Avoid Nested Locking**: Ensure symbolization (via dl_iterate_phdr)
completes before error reporting locks
Key code change:
```cpp
// Before acquiring ASan's thread registry lock:
Symbolizer::GetOrInit()->GetRefreshedListOfModules();
```
This guarantees module information is cached before lock acquisition,
eliminating
the need for `dl_iterate_phdr` calls during error reporting.
---
### Testing
Added **asan_lsan_deadlock.cpp** test case:
- Reproduces deadlock reliably without fix **under idle system
conditions**
- Uses watchdog thread to detect hangs
- Verifies ASan error reports correctly without deadlock
**Note**: Due to the inherent non-determinism of thread scheduling and
lock acquisition timing,
this test may not reliably reproduce the deadlock on busy systems (e.g.,
during parallel
`ninja check-asan` runs).
---
### Impact
- Fixes rare but severe deadlocks in mixed ASan+LSan environments
- Maintains thread safety guarantees for both sanitizers
- No user-visible behavior changes except deadlock elimination
---
### Relevant Buggy Code
- Code in ASan's asan_report.cpp
```cpp
explicit ScopedInErrorReport(bool fatal = false)
: halt_on_error_(fatal || flags()->halt_on_error) {
// Acquire lock B
asanThreadRegistry().Lock();
}
~ScopedInErrorReport() {
...
// Try to acquire lock A under holding lock B via the following path
// #4 0x000071a353d83e93 in __GI___dl_iterate_phdr (
// callback=0x5d1a07a39580 <__sanitizer::dl_iterate_phdr_cb(dl_phdr_info*, unsigned long, void*)>,
// data=0x6da3510fd3f0) at ./elf/dl-iteratephdr.c:39
// #5 0x00005d1a07a39574 in __sanitizer::ListOfModules::init (this=0x71a353ebc080)
// at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp:784
// #6 0x00005d1a07a429e3 in __sanitizer::Symbolizer::RefreshModules (this=0x71a353ebc058)
// at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp:188
// #7 __sanitizer::Symbolizer::FindModuleForAddress (this=this at entry=0x71a353ebc058,
// address=address at entry=102366378805727)
// at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp:214
// #8 0x00005d1a07a4291b in __sanitizer::Symbolizer::SymbolizePC (this=0x71a353ebc058, addr=102366378805727)
// at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp:88
// #9 0x00005d1a07a40df7 in __sanitizer::(anonymous namespace)::StackTraceTextPrinter::ProcessAddressFrames (
// this=this at entry=0x6da3510fd520, pc=102366378805727)
// at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp:37
// #10 0x00005d1a07a40d27 in __sanitizer::StackTrace::PrintTo (this=this at entry=0x6da3510fd5e8,
// output=output at entry=0x6da3510fd588)
// at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp:110
// #11 0x00005d1a07a410a1 in __sanitizer::StackTrace::Print (this=0x6da3510fd5e8)
// at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp:133
// #12 0x00005d1a0798758d in __asan::ErrorGeneric::Print (
// this=0x5d1a07aa4e08 <__asan::ScopedInErrorReport::current_error_+8>)
// at llvm-project/compiler-rt/lib/asan/asan_errors.cpp:617
current_error_.Print();
...
}
```
- Code in LSan's lsan_common_linux.cpp
```cpp
void LockStuffAndStopTheWorld(StopTheWorldCallback callback,
CheckForLeaksParam *argument) {
// Acquire lock A
dl_iterate_phdr(LockStuffAndStopTheWorldCallback, ¶m);
}
static int LockStuffAndStopTheWorldCallback(struct dl_phdr_info *info,
size_t size, void *data) {
// Try to acquire lock B under holding lock A via the following path
// #3 0x000055555562b34a in __sanitizer::ThreadRegistry::Lock (this=<optimized out>)
// at llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_thread_registry.h:99
// #4 __lsan::LockThreads () at llvm-project/compiler-rt/lib/asan/asan_thread.cpp:484
// #5 0x0000555555652629 in __lsan::ScopedStopTheWorldLock::ScopedStopTheWorldLock (this=<optimized out>)
// at llvm-project/compiler-rt/lib/lsan/lsan_common.h:164
// #6 __lsan::LockStuffAndStopTheWorldCallback (info=<optimized out>, size=<optimized out>, data=0x0,
// data at entry=0x7fffffffd158) at llvm-project/compiler-rt/lib/lsan/lsan_common_linux.cpp:120
ScopedStopTheWorldLock lock;
DoStopTheWorldParam *param = reinterpret_cast<DoStopTheWorldParam *>(data);
StopTheWorld(param->callback, param->argument);
return 1;
}
```
Commit: 77f0708b9d4feee8b8a67a5f571be741be4e26af
https://github.com/llvm/llvm-project/commit/77f0708b9d4feee8b8a67a5f571be741be4e26af
Author: Vinay Deshmukh <32487576+vinay-deshmukh at users.noreply.github.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
Log Message:
-----------
[libc]: Remove `-Wglobal-constructors` for libc tests (#131485)
* Relates to: https://github.com/llvm/llvm-project/issues/119281
* Removes `-Wglobal-constructors` as per:
https://github.com/llvm/llvm-project/pull/131485#pullrequestreview-2728020622
Commit: 6c6ab2a270b799f1397926c9064fa30fe2be1d96
https://github.com/llvm/llvm-project/commit/6c6ab2a270b799f1397926c9064fa30fe2be1d96
Author: YunQiang Su <syq at debian.org>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/fp-maximumnum-minimumnum.ll
Log Message:
-----------
AArch64: Set FMAXIMUMNUM and FMINIMUMNUM as Promote if not fullfp16 (#135708)
Since Promote will emit FP_EXTEND, the result of it will never be sNaN,
so we don't need worry about duplicated of FCANONICALIZE in
expandFMINIMUMNUM_FMAXIMUMNUM.
Commit: 4c97c5131f9ca32ce644a0be6e3586077ee03aa6
https://github.com/llvm/llvm-project/commit/4c97c5131f9ca32ce644a0be6e3586077ee03aa6
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/test/CodeGen/RISCV/xqcilia.ll
Log Message:
-----------
[RISCV] Add ISel patterns for Xqcilia instructions (#135724)
This patch adds instruction selection patterns for generating the long
immediate arithmetic instructions.
We prefer generating instructions that have a 26 bit immediate to a 32
bit immediate given that both are of the same size but the former might
be easier to register allocate for. Base RISC-V arithmetic instructions
will be preferred, when applicable.
Commit: 0ce8ad68e44aaf50d1e2aa304fa8a1127e311e1d
https://github.com/llvm/llvm-project/commit/0ce8ad68e44aaf50d1e2aa304fa8a1127e311e1d
Author: Koakuma <koachan at protonmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.h
M llvm/lib/Target/Sparc/SparcInstrVIS.td
M llvm/test/CodeGen/SPARC/float-constants.ll
Log Message:
-----------
[SPARC] Use fzero/fzeros to materialize FP zeros when we have VIS
Reviewers: rorth, brad0, s-barannikov
Reviewed By: s-barannikov
Pull Request: https://github.com/llvm/llvm-project/pull/135712
Commit: f3de63c64998eb46db9cf26aca9ebcc5453f6f44
https://github.com/llvm/llvm-project/commit/f3de63c64998eb46db9cf26aca9ebcc5453f6f44
Author: Koakuma <koachan at protonmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcInstr64Bit.td
M llvm/lib/Target/Sparc/SparcInstrVIS.td
M llvm/test/CodeGen/SPARC/2011-01-11-CC.ll
Log Message:
-----------
[SPARC] Use addxccc to do multiword addition when we have VIS3
Reviewers: brad0, s-barannikov, rorth
Reviewed By: s-barannikov
Pull Request: https://github.com/llvm/llvm-project/pull/135713
Commit: 10f10d6721821d4a6505ecbe4c023f46c7040bdd
https://github.com/llvm/llvm-project/commit/10f10d6721821d4a6505ecbe4c023f46c7040bdd
Author: Koakuma <koachan at protonmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/generate_test_report_lib.py
M .ci/generate_test_report_lib_test.py
M .ci/metrics/metrics.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M .github/new-prs-labeler.yml
M .github/workflows/ci-post-commit-analyzer.yml
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/libclang-python-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/llvm-project-tests.yml
M .github/workflows/premerge.yaml
M .github/workflows/spirv-tests.yml
M .mailmap
M bolt/CMakeLists.txt
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Core/Relocation.h
M bolt/include/bolt/Passes/DataflowAnalysis.h
M bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinarySection.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Passes/AsmDump.cpp
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/AArch64/AArch64MCSymbolizer.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/runtime/common.h
M bolt/runtime/hugify.cpp
M bolt/test/AArch64/tls.c
A bolt/test/AArch64/validate-secondary-entry-point.s
A bolt/test/RISCV/validate-secondary-entry-point.s
M bolt/test/X86/callcont-fallthru.s
M bolt/test/X86/split-func-jump-table-fragment-bidirection.s
M bolt/test/binary-analysis/AArch64/cmdline-args.test
M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
A bolt/test/binary-analysis/AArch64/gs-pauth-address-materialization.s
A bolt/test/binary-analysis/AArch64/gs-pauth-calls.s
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
M bolt/test/link_fdata.py
A bolt/test/runtime/Inputs/user_func_order.txt
R bolt/test/runtime/X86/Inputs/user_func_order.txt
R bolt/test/runtime/X86/hugify.c
R bolt/test/runtime/X86/user-func-reorder.c
A bolt/test/runtime/hugify.c
A bolt/test/runtime/relative-vftable.cpp
A bolt/test/runtime/user-func-reorder.c
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/CMakeLists.txt
M bolt/unittests/Core/MCPlusBuilder.cpp
M clang-tools-extra/clang-doc/CMakeLists.txt
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/Mapper.cpp
A clang-tools-extra/clang-doc/support/CMakeLists.txt
A clang-tools-extra/clang-doc/support/File.cpp
A clang-tools-extra/clang-doc/support/File.h
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.h
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
M clang-tools-extra/clang-tidy/utils/Matchers.cpp
M clang-tools-extra/clang-tidy/utils/Matchers.h
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/Headers.cpp
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
M clang-tools-extra/clangd/test/CMakeLists.txt
M clang-tools-extra/clangd/test/lit.site.cfg.py.in
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/android/comparison-in-temp-failure-retry.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/msc51-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/concurrency/mt-unsafe.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/no-malloc.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/owning-memory.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-constant-array-index.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-member-init.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/coroutine-hostile-raii.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/include-cleaner.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/non-private-member-variables-in-classes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-data-pointer.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-declaration-parameter-name.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-inline-specifier.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-smartptr-get.rst
M clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Calculator.h
M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-addition.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-conversion-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-float.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-scale.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-subtraction.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-unnecessary-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/redundant-strcat-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/time-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/time-subtraction.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/upgrade-duration-conversions.cpp
M clang-tools-extra/test/clang-tidy/checkers/altera/struct-pack-align.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-memfd-create.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-open.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-socket.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/capturing-this-in-member-variable.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/incorrect-enable-shared-from-this.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/move-forwarding-reference.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-in-initialization-strlen.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-memcpy-safe-cxx.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-strlen.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-wcslen.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/posix-return.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/standalone-empty.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/stringview-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/swapped-arguments.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-allowed-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-cast-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output.cpp
M clang-tools-extra/test/clang-tidy/checkers/cert/err33-c.c
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-constant-array-index.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-use-assignment.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/virtual-class-destructor.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/build-explicit-make-pair.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/objc-avoid-nsobject-new.m
M clang-tools-extra/test/clang-tidy/checkers/google/upgrade-googletest-case.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-isa-or-dyn-cast-in-conditionals.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned2.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned3.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/twine-local.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values-before-cxx23.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/definitions-in-headers.hpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-camelback.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-const.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-extra.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-lowercase.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-rewritten-binop.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-uppercase.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-shared.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/replace-auto-ptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/type-traits.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast-remove-stars.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-for-pointer.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-iterator.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-min-type-name-length.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison-qt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-algorithm.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-move-constructor-fix.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/trivially-destructible.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/type-promotion-in-math-fn.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/delete-null-pointer.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-no-warn.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-hungarian-notation-lower-case-prefix.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-outofline.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration-cxx17.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration.c
M clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration-ignore-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-members.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-custom-list.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-conflicted-fixes-of-alias-checkers.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-fixes-of-alias-checkers.cpp
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_type.py
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/HLSL.cmake
M clang/docs/ClangFormat.rst
M clang/docs/ControlFlowIntegrity.rst
M clang/docs/InternalsManual.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/PointerAuthentication.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/include/clang-c/Index.h
M clang/include/clang/AST/ASTConcept.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTImporter.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/ASTStructuralEquivalence.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclOpenACC.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/DeclarationName.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprObjC.h
M clang/include/clang/AST/GlobalDecl.h
M clang/include/clang/AST/Mangle.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/PrettyPrinter.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/AST/VTableBuilder.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
A clang/include/clang/ASTMatchers/LowLevelHelpers.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
A clang/include/clang/Analysis/Support/FixitUtil.h
M clang/include/clang/Basic/ABI.h
M clang/include/clang/Basic/AddressSpaces.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
A clang/include/clang/Basic/BuiltinsDirectX.td
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticAST.h
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticAnalysis.h
M clang/include/clang/Basic/DiagnosticComment.h
M clang/include/clang/Basic/DiagnosticCrossTU.h
M clang/include/clang/Basic/DiagnosticDriver.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontend.h
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticInstallAPI.h
M clang/include/clang/Basic/DiagnosticLex.h
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticParse.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticRefactoring.h
M clang/include/clang/Basic/DiagnosticSema.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerialization.h
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/FileEntry.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/SyncScope.h
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TokenKinds.def
A clang/include/clang/Basic/UnsignedOrNone.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
A clang/include/clang/CIR/Dialect/IR/CIRTypesDetails.h
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
A clang/include/clang/CIR/LoweringHelpers.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Lex/LexHLSLRootSignature.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/HeuristicResolver.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaDirectX.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaLambda.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Sema/TemplateDeduction.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclOpenACC.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/Mangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/ASTMatchers/ASTMatchFinder.cpp
M clang/lib/ASTMatchers/CMakeLists.txt
A clang/lib/ASTMatchers/LowLevelHelpers.cpp
M clang/lib/Analysis/CMakeLists.txt
A clang/lib/Analysis/FixitUtil.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/DirectX.cpp
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.cpp
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/TCE.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/CIR/CodeGen/Address.h
A clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
A clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
A clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
A clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
A clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/lib/CIR/Lowering/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
A clang/lib/CIR/Lowering/LoweringHelpers.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenTypes.h
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
A clang/lib/CodeGen/TargetBuiltins/DirectX.cpp
M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/CodeGen/TargetInfo.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/AVR.h
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/DragonFly.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/MipsLinux.cpp
M clang/lib/Driver/ToolChains/MipsLinux.h
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/OHOS.h
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.h
M clang/lib/Driver/ToolChains/ROCm.h
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/Format/BreakableToken.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Headers/__clang_cuda_runtime_wrapper.h
M clang/lib/Headers/__clang_cuda_texture_intrinsics.h
M clang/lib/Headers/altivec.h
M clang/lib/Headers/amxcomplexintrin.h
M clang/lib/Headers/avx10_2_512bf16intrin.h
M clang/lib/Headers/avx10_2bf16intrin.h
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/llvm_libc_wrappers/stdlib.h
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPExpressions.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/OpenCLBuiltins.td
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
A clang/lib/Sema/SemaDirectX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaFunctionEffects.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/AST/ByteCode/arrays.cpp
M clang/test/AST/ByteCode/codegen.cpp
M clang/test/AST/ByteCode/cxx17.cpp
M clang/test/AST/ByteCode/cxx23.cpp
A clang/test/AST/ByteCode/libcxx/minmax.cpp
M clang/test/AST/ByteCode/literals.cpp
A clang/test/AST/ByteCode/pointer-to-fnptr.cpp
A clang/test/AST/ByteCode/typeid.cpp
M clang/test/AST/HLSL/cbuffer.hlsl
A clang/test/AST/HLSL/private.hlsl
M clang/test/AST/ast-dump-APValue-lvalue.cpp
M clang/test/AST/ast-dump-array.cpp
M clang/test/AST/ast-dump-ptrauth-json.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/AST/ast-print-openacc-declare-construct.cpp
M clang/test/AST/ast-print-openacc-init-construct.cpp
M clang/test/AST/ast-print-openacc-loop-construct.cpp
M clang/test/AST/ast-print-openacc-routine-construct.cpp
M clang/test/AST/ast-print-openacc-set-construct.cpp
M clang/test/AST/ast-print-openacc-shutdown-construct.cpp
M clang/test/AST/ast-print-openacc-update-construct.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
M clang/test/Analysis/Checkers/WebKit/forward-decl-checker.mm
M clang/test/Analysis/Checkers/WebKit/mock-system-header.h
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
M clang/test/Analysis/Checkers/WebKit/unretained-call-args-arc.mm
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures-arc.mm
M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures.mm
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
A clang/test/Analysis/castsize.c
M clang/test/C/C11/n1285.c
A clang/test/C/C11/n1285_1.c
M clang/test/C/C11/n1330.c
M clang/test/C/C23/n3042.c
M clang/test/C/drs/dr0xx.c
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/basic.c
M clang/test/CIR/CodeGen/basic.cpp
A clang/test/CIR/CodeGen/binassign.c
A clang/test/CIR/CodeGen/call.cpp
M clang/test/CIR/CodeGen/cast.cpp
A clang/test/CIR/CodeGen/cmp.cpp
A clang/test/CIR/CodeGen/comma.c
A clang/test/CIR/CodeGen/if-consteval.cpp
A clang/test/CIR/CodeGen/if.cpp
M clang/test/CIR/CodeGen/loop.cpp
A clang/test/CIR/CodeGen/nullptr-init.cpp
A clang/test/CIR/CodeGen/struct.c
A clang/test/CIR/CodeGen/struct.cpp
M clang/test/CIR/CodeGen/unary.cpp
A clang/test/CIR/CodeGen/union.c
A clang/test/CIR/CodeGenOpenACC/data.c
A clang/test/CIR/CodeGenOpenACC/init.c
A clang/test/CIR/CodeGenOpenACC/kernels.c
A clang/test/CIR/CodeGenOpenACC/openacc-not-implemented-global.cpp
A clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
A clang/test/CIR/CodeGenOpenACC/parallel.c
A clang/test/CIR/CodeGenOpenACC/serial.c
A clang/test/CIR/CodeGenOpenACC/set.c
A clang/test/CIR/CodeGenOpenACC/shutdown.c
A clang/test/CIR/IR/binassign.cir
A clang/test/CIR/IR/call.cir
A clang/test/CIR/IR/cmp.cir
A clang/test/CIR/IR/struct.cir
M clang/test/CIR/Lowering/array.cpp
A clang/test/CIR/Lowering/if.cir
A clang/test/CIR/Transforms/if.cir
M clang/test/CXX/basic/basic.stc/basic.stc.dynamic/basic.stc.dynamic.allocation/p1.cpp
M clang/test/CXX/class.derived/class.derived.general/p2.cpp
M clang/test/CXX/drs/cwg15xx.cpp
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
M clang/test/CXX/temp/temp.decls/temp.mem/p5.cpp
A clang/test/ClangScanDeps/modules-relocated-mm-macro.c
M clang/test/ClangScanDeps/prebuilt-modules-in-stable-dirs.c
M clang/test/CodeCompletion/member-access.c
M clang/test/CodeCompletion/member-access.cpp
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x1.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x1.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x2.c
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rdffr.c
A clang/test/CodeGen/Inputs/cuda.h
M clang/test/CodeGen/SystemZ/builtins-systemz-bitop.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector5-error.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector5.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector5-error.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector5.c
M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
M clang/test/CodeGen/SystemZ/systemz-abi.c
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/arm-target-features.c
A clang/test/CodeGen/atomic-ops-load.c
M clang/test/CodeGen/attr-target-x86.c
M clang/test/CodeGen/bounds-checking-debuginfo.c
A clang/test/CodeGen/builtin-maxnum-minnum.c
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/catch-alignment-assumption-array.c
M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-lvalue.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-paramvar.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function-variable.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function-two-params.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-polymorphism.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params-variable.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-two-params.cpp
M clang/test/CodeGen/catch-alignment-assumption-openmp.cpp
M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.c
A clang/test/CodeGen/cfi-check-fail-nomerge.c
M clang/test/CodeGen/cfi-check-fail.c
A clang/test/CodeGen/cfi-check-fail2-nomerge.c
M clang/test/CodeGen/cfi-check-fail2.c
A clang/test/CodeGen/invalid_llvm_ir.ll
A clang/test/CodeGen/nvptx-surface.cu
M clang/test/CodeGen/pointer-overflow.c
M clang/test/CodeGen/pragma-fenv_access.c
A clang/test/CodeGen/ptrauth-debuginfo.c
A clang/test/CodeGen/ptrauth-qualifier-const-init.c
A clang/test/CodeGen/ptrauth-qualifier-function.c
A clang/test/CodeGen/ptrauth-qualifier-loadstore.c
M clang/test/CodeGen/ubsan-trap-merge.c
A clang/test/CodeGen/unique-source-file-names.c
M clang/test/CodeGen/xcore-abi.c
A clang/test/CodeGenCXX/Inputs/std-coroutine.h
A clang/test/CodeGenCXX/bug135668.cpp
M clang/test/CodeGenCXX/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.cpp
A clang/test/CodeGenCXX/cfi-mfcall-nomerge.cpp
M clang/test/CodeGenCXX/debug-info-windows-dtor.cpp
M clang/test/CodeGenCXX/dllexport.cpp
A clang/test/CodeGenCXX/mangle-itanium-ptrauth.cpp
A clang/test/CodeGenCXX/mangle-ms-ptrauth.cpp
M clang/test/CodeGenCXX/mangle-template.cpp
M clang/test/CodeGenCXX/mangle.cpp
M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
R clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/pointers-to-data-members.cpp
A clang/test/CodeGenCXX/ptrauth-qualifier-struct.cpp
M clang/test/CodeGenCXX/sections.cpp
A clang/test/CodeGenCXX/type-aware-allocators.cpp
A clang/test/CodeGenCXX/type-aware-coroutines.cpp
A clang/test/CodeGenCXX/type-aware-new-constexpr.cpp
A clang/test/CodeGenCXX/type-aware-placement-operators.cpp
M clang/test/CodeGenCXX/vtable-consteval.cpp
M clang/test/CodeGenCoroutines/coro-alloc-2.cpp
A clang/test/CodeGenCoroutines/pr134409.cpp
A clang/test/CodeGenDirectX/Builtins/dot2add.c
A clang/test/CodeGenHLSL/BasicFeatures/frem_modulo.hlsl
M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
M clang/test/CodeGenHLSL/builtins/distance.hlsl
A clang/test/CodeGenHLSL/builtins/dot2add.hlsl
A clang/test/CodeGenHLSL/builtins/dst.hlsl
M clang/test/CodeGenHLSL/builtins/length.hlsl
A clang/test/CodeGenHLSL/builtins/lit.hlsl
M clang/test/CodeGenHLSL/builtins/reflect.hlsl
M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
M clang/test/CodeGenHLSL/cbuffer.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
A clang/test/CodeGenHLSL/enable-16bit-types.hlsl
A clang/test/CodeGenHLSL/out-of-line-static.hlsl
A clang/test/CodeGenHLSL/res-may-alias.hlsl
A clang/test/CodeGenHLSL/static-variable.hlsl
A clang/test/CodeGenHipStdPar/rdc-does-not-enable-hipstdpar.cpp
A clang/test/CodeGenHipStdPar/select-accelerator-code-pass-ordering.cpp
M clang/test/CodeGenObjC/property-array-type.m
A clang/test/CodeGenObjCXX/ptrauth-struct-cxx-abi.mm
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-printf.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raytracing.cl
M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue.cl
M clang/test/CodeGenOpenCL/enqueue-kernel-non-entry-block.cl
M clang/test/CodeGenOpenCL/fdeclare-opencl-builtins.cl
M clang/test/CodeGenOpenCL/implicit-addrspacecast-function-parameter.cl
M clang/test/CodeGenOpenCL/kernel-arg-info.cl
A clang/test/CodeGenOpenCL/opencl-kernel-call.cl
M clang/test/CodeGenOpenCL/reflect.cl
M clang/test/CodeGenOpenCL/sampler.cl
M clang/test/CodeGenOpenCL/spir-calling-conv.cl
M clang/test/CodeGenOpenCL/visibility.cl
M clang/test/CodeGenOpenCLCXX/addrspace-of-this.clcpp
M clang/test/Driver/Inputs/DriverKit23.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX10.14.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX10.15.versioned.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX15.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX15.1.sdk/SDKSettings.json
M clang/test/Driver/Inputs/WatchOS6.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/iPhoneOS13.0.sdk/SDKSettings.json
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64-ibm-aix/libflang_rt.runtime.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64le-unknown-linux-gnu/libflang_rt.runtime.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64le-unknown-linux-gnu/libflang_rt.runtime.so
A clang/test/Driver/arm-fpu-selection.s
M clang/test/Driver/arm-thread-pointer.c
A clang/test/Driver/armv7-default-neon.s
A clang/test/Driver/armv7s-default-vfpv4.s
M clang/test/Driver/armv8.1m.main.s
M clang/test/Driver/darwin-ld-platform-version-watchos.c
M clang/test/Driver/hip-binding.hip
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/hip-options.hip
M clang/test/Driver/hip-phases.hip
M clang/test/Driver/hip-sanitize-options.hip
A clang/test/Driver/hip-thinlto.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/mips-abi.c
A clang/test/Driver/openacc-no-cir.c
M clang/test/Driver/openmp-offload-gpu.c
M clang/test/Driver/print-supported-extensions-arm.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/systemz-march.c
A clang/test/Driver/unique-source-file-names.c
M clang/test/Driver/x86-target-features.c
A clang/test/FixIt/fixit-bool.cpp
M clang/test/Frontend/amdgcn-machine-analysis-remarks.cl
A clang/test/Frontend/dump-minimization-hints.cpp
M clang/test/Headers/Inputs/include/cuda.h
A clang/test/Headers/Inputs/include/surface_indirect_functions.h
M clang/test/Headers/__clang_hip_cmath.hip
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/altivec-header.c
M clang/test/Headers/openmp_device_math_isnan.cpp
M clang/test/Import/pack-expansion-expr/test.cpp
A clang/test/Index/single-file-parse-include-macro.c
A clang/test/Index/single-file-parse-undefined-function-like-macro.c
M clang/test/InstallAPI/Inputs/MacOSX13.0.sdk/SDKSettings.json
M clang/test/Interpreter/inline-virtual.cpp
M clang/test/Misc/target-invalid-cpu-note/systemz.c
A clang/test/Modules/fmodule-file-mismatch.cppm
M clang/test/Modules/new-delete.cpp
M clang/test/Modules/odr_hash.cpp
A clang/test/Modules/relocatable-modules.cpp
M clang/test/Modules/safe_buffers_optout.cpp
M clang/test/Modules/vtable-windows.cppm
M clang/test/OpenMP/declare_variant_construct_codegen_1.c
M clang/test/OpenMP/declare_variant_messages.c
M clang/test/OpenMP/declare_variant_messages.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/distribute_simd_linear_messages.cpp
M clang/test/OpenMP/for_linear_messages.cpp
M clang/test/OpenMP/for_simd_linear_messages.cpp
M clang/test/OpenMP/for_simd_misc_messages.c
M clang/test/OpenMP/interop_codegen.cpp
M clang/test/OpenMP/masked_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/master_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/ompx_attributes_codegen.cpp
M clang/test/OpenMP/parallel_for_linear_messages.cpp
M clang/test/OpenMP/parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/parallel_for_simd_misc_messages.c
M clang/test/OpenMP/parallel_masked_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/simd_linear_messages.cpp
M clang/test/OpenMP/simd_misc_messages.c
M clang/test/OpenMP/target_num_teams_num_threads_attributes.cpp
M clang/test/OpenMP/target_parallel_for_linear_messages.cpp
M clang/test/OpenMP/target_parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/target_parallel_no_exceptions.cpp
M clang/test/OpenMP/target_simd_linear_messages.cpp
M clang/test/OpenMP/target_team_variable_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/target_teams_distribute_simd_linear_messages.cpp
M clang/test/OpenMP/target_visibility.cpp
M clang/test/OpenMP/task_affinity_messages.cpp
M clang/test/OpenMP/task_depend_messages.cpp
M clang/test/OpenMP/taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/teams_distribute_simd_linear_messages.cpp
M clang/test/Parser/cxx1z-class-template-argument-deduction.cpp
A clang/test/Parser/ptrauth-qualifier.c
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/Preprocessor/arm-target-features.c
A clang/test/Preprocessor/constants.c
A clang/test/Preprocessor/embed-reject-device-files-lin.c
A clang/test/Preprocessor/embed-reject-device-files-win.c
M clang/test/Preprocessor/embed___has_embed.c
M clang/test/Preprocessor/embed_parameter_unrecognized.c
M clang/test/Preprocessor/has_attribute.c
M clang/test/Preprocessor/has_attribute.cpp
M clang/test/Preprocessor/has_c_attribute.c
M clang/test/Preprocessor/has_include.c
A clang/test/Preprocessor/pr133574.c
M clang/test/Preprocessor/predefined-arch-macros.c
A clang/test/Preprocessor/ptrauth_extension.c
M clang/test/Profile/cxx-abc-deleting-dtor.cpp
M clang/test/Sema/Inputs/AppleTVOS15.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/MacOSX11.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/WatchOS7.0.sdk/SDKSettings.json
M clang/test/Sema/attr-callback-broken.c
M clang/test/Sema/attr-capabilities.c
A clang/test/Sema/attr-decl-after-definition-std.c
A clang/test/Sema/attr-musttail.cpp
A clang/test/Sema/clear_cache.c
M clang/test/Sema/code_align.c
M clang/test/Sema/for.c
M clang/test/Sema/incomplete-decl.c
A clang/test/Sema/main-no-return-c89-1.c
A clang/test/Sema/main-no-return-c89-2.c
A clang/test/Sema/main-no-return-c89-3.c
A clang/test/Sema/nullability-and-template-deduction.cpp
A clang/test/Sema/ptrauth-atomic-ops.c
A clang/test/Sema/ptrauth-qualifier.c
M clang/test/Sema/tentative-decls.c
A clang/test/Sema/warn-cast-function-type-win.c
M clang/test/Sema/warn-int-in-bool-context.c
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/SemaCXX/align_value.cpp
M clang/test/SemaCXX/alloc-align-attr.cpp
M clang/test/SemaCXX/attr-lifetime-capture-by.cpp
M clang/test/SemaCXX/attr-lifetimebound.cpp
A clang/test/SemaCXX/bug135668.cpp
M clang/test/SemaCXX/builtin-assume-aligned-tmpl.cpp
M clang/test/SemaCXX/ctad.cpp
M clang/test/SemaCXX/cxx17-compat.cpp
M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
M clang/test/SemaCXX/cxx2a-destroying-delete.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/cxx2c-binding-pack-nontemplate.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/delete.cpp
M clang/test/SemaCXX/fold_lambda_with_variadics.cpp
A clang/test/SemaCXX/for-static-assert.cpp
M clang/test/SemaCXX/new-delete.cpp
A clang/test/SemaCXX/ptrauth-qualifier.cpp
A clang/test/SemaCXX/ptrauth-template-parameters.cpp
A clang/test/SemaCXX/type-aware-class-scoped-mismatched-constraints.cpp
A clang/test/SemaCXX/type-aware-coroutines.cpp
A clang/test/SemaCXX/type-aware-new-constexpr.cpp
A clang/test/SemaCXX/type-aware-new-delete-arrays.cpp
A clang/test/SemaCXX/type-aware-new-delete-basic-free-declarations.cpp
A clang/test/SemaCXX/type-aware-new-delete-basic-in-class-declarations.cpp
A clang/test/SemaCXX/type-aware-new-delete-basic-resolution.cpp
A clang/test/SemaCXX/type-aware-new-delete-qualifiers.cpp
A clang/test/SemaCXX/type-aware-new-invalid-type-identity.cpp
A clang/test/SemaCXX/type-aware-placement-operators.cpp
M clang/test/SemaCXX/undefined-partial-specialization.cpp
M clang/test/SemaCXX/warn-dangling-local.cpp
A clang/test/SemaCXX/windows-Wpadded-bitfield.cpp
A clang/test/SemaCXX/windows-Wpadded.cpp
A clang/test/SemaHIP/amdgpu-builtin-in-lambda-with-unsupported-attribute.hip
A clang/test/SemaHIP/amdgpu-builtin-in-lambda.hip
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
M clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/dot2add-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/select-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/splitdouble-errors.hlsl
M clang/test/SemaHLSL/Language/OutputParameters.hlsl
A clang/test/SemaHLSL/Operators/frem_modulo-errors.hlsl
M clang/test/SemaHLSL/parameter_modifiers.hlsl
A clang/test/SemaObjC/ptrauth-qualifier.m
M clang/test/SemaOpenACC/combined-construct-copy-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copy-clause.c
M clang/test/SemaOpenACC/combined-construct-copyin-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copyin-clause.c
M clang/test/SemaOpenACC/combined-construct-copyout-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copyout-clause.c
M clang/test/SemaOpenACC/combined-construct-create-ast.cpp
M clang/test/SemaOpenACC/combined-construct-create-clause.c
M clang/test/SemaOpenACC/combined-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.cpp
M clang/test/SemaOpenACC/compute-construct-copy-clause.c
M clang/test/SemaOpenACC/compute-construct-copyin-clause.c
M clang/test/SemaOpenACC/compute-construct-copyout-clause.c
M clang/test/SemaOpenACC/compute-construct-create-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.cpp
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/test/SemaOpenACC/data-construct-copy-ast.cpp
M clang/test/SemaOpenACC/data-construct-copy-clause.c
M clang/test/SemaOpenACC/data-construct-copyin-ast.cpp
M clang/test/SemaOpenACC/data-construct-copyin-clause.c
M clang/test/SemaOpenACC/data-construct-copyout-ast.cpp
M clang/test/SemaOpenACC/data-construct-copyout-clause.c
M clang/test/SemaOpenACC/data-construct-create-ast.cpp
M clang/test/SemaOpenACC/data-construct-create-clause.c
M clang/test/SemaOpenACC/data-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/data-construct-device_type-clause.c
M clang/test/SemaOpenACC/declare-construct-ast.cpp
M clang/test/SemaOpenACC/declare-construct.cpp
A clang/test/SemaOpenACC/device_type_valid_values.c
M clang/test/SemaOpenACC/init-construct-ast.cpp
M clang/test/SemaOpenACC/init-construct.cpp
M clang/test/SemaOpenACC/loop-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.cpp
M clang/test/SemaOpenACC/routine-construct-ast.cpp
M clang/test/SemaOpenACC/routine-construct-clauses.cpp
M clang/test/SemaOpenACC/set-construct-ast.cpp
M clang/test/SemaOpenACC/set-construct.cpp
M clang/test/SemaOpenACC/shutdown-construct-ast.cpp
M clang/test/SemaOpenACC/shutdown-construct.cpp
M clang/test/SemaOpenACC/update-construct-ast.cpp
M clang/test/SemaOpenACC/update-construct.cpp
M clang/test/SemaOpenCL/atomic-ops.cl
M clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
M clang/test/SemaOpenCL/to_addr_builtin.cl
M clang/test/SemaTemplate/address_space-dependent.cpp
M clang/test/SemaTemplate/attributes.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/test/SemaTemplate/dependent-names.cpp
M clang/test/SemaTemplate/instantiate-expanded-type-constraint.cpp
M clang/test/SemaTemplate/instantiate-requires-expr.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/partial-order.cpp
M clang/test/SemaTemplate/temp_arg_nontype.cpp
M clang/test/SemaTemplate/trailing-return-short-circuit.cpp
M clang/test/SemaTemplate/type_pack_element.cpp
M clang/tools/CMakeLists.txt
R clang/tools/amdgpu-arch/AMDGPUArch.cpp
R clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
R clang/tools/amdgpu-arch/AMDGPUArchByKFD.cpp
R clang/tools/amdgpu-arch/CMakeLists.txt
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-format/clang-format-diff.py
M clang/tools/clang-format/git-clang-format
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/driver/cc1as_main.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXType.cpp
M clang/tools/libclang/libclang.map
R clang/tools/nvptx-arch/CMakeLists.txt
R clang/tools/nvptx-arch/NVPTXArch.cpp
A clang/tools/offload-arch/AMDGPUArchByHIP.cpp
A clang/tools/offload-arch/AMDGPUArchByKFD.cpp
A clang/tools/offload-arch/CMakeLists.txt
A clang/tools/offload-arch/NVPTXArch.cpp
A clang/tools/offload-arch/OffloadArch.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/ByteCode/BitcastBuffer.cpp
M clang/unittests/AST/ByteCode/toAPValue.cpp
M clang/unittests/AST/TypePrinterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTest.h
M clang/unittests/Analysis/MacroExpansionContextTest.cpp
M clang/unittests/Basic/SourceManagerTest.cpp
M clang/unittests/Format/CleanupTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestJS.cpp
M clang/unittests/Format/FormatTestJava.cpp
M clang/unittests/Format/FormatTestTableGen.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
M clang/unittests/Lex/LexerTest.cpp
M clang/unittests/Lex/ModuleDeclStateTest.cpp
M clang/unittests/Lex/PPCallbacksTest.cpp
M clang/unittests/Lex/PPConditionalDirectiveRecordTest.cpp
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
M clang/unittests/Lex/PPMemoryAllocationsTest.cpp
M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/asan/asan_errors.cpp
M compiler-rt/lib/asan/asan_fake_stack.cpp
M compiler-rt/lib/asan/asan_flags.inc
M compiler-rt/lib/asan/asan_linux.cpp
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/asan/asan_poisoning.cpp
M compiler-rt/lib/asan/asan_poisoning.h
M compiler-rt/lib/asan/asan_posix.cpp
M compiler-rt/lib/asan/asan_report.cpp
M compiler-rt/lib/asan/tests/CMakeLists.txt
M compiler-rt/lib/asan/tests/asan_test.cpp
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/ctx_profile/CMakeLists.txt
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
M compiler-rt/lib/ctx_profile/RootAutoDetector.h
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
M compiler-rt/lib/interception/interception.h
M compiler-rt/lib/interception/interception_linux.cpp
M compiler-rt/lib/interception/interception_linux.h
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/msan/msan.cpp
M compiler-rt/lib/orc/error.h
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
M compiler-rt/lib/sanitizer_common/sanitizer_errno.h
M compiler-rt/lib/sanitizer_common/sanitizer_errno_codes.h
A compiler-rt/lib/sanitizer_common/sanitizer_haiku.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_mac.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps.h
A compiler-rt/lib/sanitizer_common/sanitizer_procmaps_haiku.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
M compiler-rt/lib/ubsan/ubsan_platform.h
M compiler-rt/test/asan/TestCases/Linux/asan_rt_confict_test-2.cpp
M compiler-rt/test/asan/TestCases/Posix/mmap_limit_mb.cpp
A compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp
A compiler-rt/test/asan/TestCases/fakeframe-right-redzone.cpp
A compiler-rt/test/asan/TestCases/shadowed-stack-serialization.cpp
A compiler-rt/test/asan/TestCases/use-after-poison-history-size-partial-granule.cpp
A compiler-rt/test/asan/TestCases/use-after-poison-history-size.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-inlined.cpp
A compiler-rt/test/ctx_profile/TestCases/autodetect-roots.cpp
M compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
M compiler-rt/test/hwasan/TestCases/Linux/release-shadow.c
M compiler-rt/test/hwasan/TestCases/heap-buffer-overflow.c
M compiler-rt/test/hwasan/TestCases/tag-mismatch-border-address.c
M compiler-rt/test/sanitizer_common/android_commands/android_compile.py
M compiler-rt/test/sanitizer_common/android_commands/android_run.py
M compiler-rt/test/ubsan/TestCases/Integer/bit-int.c
M cross-project-tests/debuginfo-tests/dexter-tests/aggregate-indirect-arg.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/asan-deque.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/ctor.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/deferred_globals.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/namespace.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/nrvo-string.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-fastmath.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-loops.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/dex_declare_file.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_program_state.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_kinds.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_order.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_out_range.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_zero_nonmatch.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/missing_dex_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_line_range.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_on_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/command_line.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_after_ref.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/expression_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/identical_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/multiple_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/offset_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/self_comparison.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/dex_and_source/test.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/precompiled_binary/commands.dex
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/windows_noncanonical_path/test.dex
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_simple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_simple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_program_state.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/direction.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func_external.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/recursive.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/small_loop.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_order.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_multiple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_no_arg.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_small.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_zero_match.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_check_json_step_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_loop.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_line_mismatch.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_overlapping_ranges.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_same_line_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/unconditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_not_cmd_lineno.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_on_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/address_printing.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_bad_label_ref.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_label.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_dexdeclarefile.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_undeclared_addr.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_another_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_offset.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/source-root-dir.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args_with_command.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/view.cpp
M cross-project-tests/lit.cfg.py
M flang-rt/cmake/modules/GetToolchainDirs.cmake
M flang-rt/include/flang-rt/runtime/allocator-registry.h
M flang-rt/include/flang-rt/runtime/connection.h
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/environment.h
M flang-rt/include/flang-rt/runtime/io-stmt.h
M flang-rt/include/flang-rt/runtime/reduction-templates.h
M flang-rt/include/flang-rt/runtime/terminator.h
M flang-rt/lib/cuda/allocatable.cpp
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/cuda/kernel.cpp
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/array-constructor.cpp
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/character.cpp
M flang-rt/lib/runtime/command.cpp
M flang-rt/lib/runtime/connection.cpp
M flang-rt/lib/runtime/copy.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor-io.h
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/lib/runtime/edit-output.cpp
M flang-rt/lib/runtime/environment.cpp
M flang-rt/lib/runtime/extensions.cpp
M flang-rt/lib/runtime/extrema.cpp
M flang-rt/lib/runtime/findloc.cpp
M flang-rt/lib/runtime/io-api.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
M flang-rt/lib/runtime/misc-intrinsic.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/lib/runtime/stop.cpp
M flang-rt/lib/runtime/temporary-stack.cpp
M flang-rt/lib/runtime/terminator.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/transformational.cpp
M flang-rt/lib/runtime/unit.cpp
M flang-rt/lib/runtime/unit.h
M flang-rt/unittests/Evaluate/reshape.cpp
M flang-rt/unittests/Runtime/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang-rt/unittests/Runtime/CUDA/Memory.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang-rt/unittests/Runtime/CommandTest.cpp
M flang-rt/unittests/Runtime/TemporaryStack.cpp
M flang-rt/unittests/Runtime/tools.h
M flang/docs/ArrayRepacking.md
M flang/docs/CMakeLists.txt
M flang/docs/Extensions.md
M flang/docs/Intrinsics.md
M flang/docs/ModFiles.md
M flang/docs/OpenACC.md
M flang/include/flang/Common/Fortran-consts.h
M flang/include/flang/Common/real.h
A flang/include/flang/Common/type-kinds.h
M flang/include/flang/Common/uint128.h
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Evaluate/target.h
M flang/include/flang/Evaluate/type.h
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Optimizer/Builder/BoxValue.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
M flang/include/flang/Optimizer/Builder/Runtime/Command.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
R flang/include/flang/Optimizer/CodeGen/CGOps.h
R flang/include/flang/Optimizer/CodeGen/CGOps.td
M flang/include/flang/Optimizer/CodeGen/CMakeLists.txt
M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIRAttr.h
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
A flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.h
A flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.td
A flang/include/flang/Optimizer/Dialect/FIRCG/CMakeLists.txt
M flang/include/flang/Optimizer/Dialect/FIRDialect.h
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
A flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.h
A flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.td
M flang/include/flang/Optimizer/OpenACC/RegisterOpenACCExtensions.h
A flang/include/flang/Optimizer/OpenMP/Support/RegisterOpenMPExtensions.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/kernel.h
M flang/include/flang/Runtime/allocatable.h
M flang/include/flang/Runtime/command.h
M flang/include/flang/Runtime/complex.h
M flang/include/flang/Runtime/extensions.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Support/Fortran.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/target.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Evaluate/type.cpp
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/HostAssociations.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Builder/Character.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
M flang/lib/Optimizer/Builder/MutableBox.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Command.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
R flang/lib/Optimizer/CodeGen/CGOps.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/Dialect/CMakeLists.txt
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
A flang/lib/Optimizer/Dialect/FIRCG/CGOps.cpp
A flang/lib/Optimizer/Dialect/FIRCG/CMakeLists.txt
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
A flang/lib/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/OpenACC/CMakeLists.txt
A flang/lib/Optimizer/OpenACC/FIROpenACCAttributes.cpp
M flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
M flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
A flang/lib/Optimizer/OpenMP/Support/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/Support/FIROpenMPAttributes.cpp
A flang/lib/Optimizer/OpenMP/Support/RegisterOpenMPExtensions.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
M flang/lib/Parser/openacc-parsers.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/token-sequence.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/type.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/lib/Support/Fortran.cpp
M flang/module/cudadevice.f90
M flang/test/Driver/code-object-version.f90
M flang/test/Driver/do_concurrent_to_omp_cli.f90
A flang/test/Driver/flang-ld-powerpc.f90
A flang/test/Driver/frepack-arrays-contiguity.f90
A flang/test/Driver/frepack-arrays.f90
A flang/test/Driver/fstack-repack-arrays.f90
M flang/test/Driver/linker-flags.f90
M flang/test/Driver/omp-driver-offload.f90
M flang/test/Evaluate/errors01.f90
M flang/test/Fir/CUDA/cuda-constructor-2.f90
M flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir
M flang/test/Fir/CUDA/cuda-launch.fir
M flang/test/Fir/CUDA/cuda-target-rewrite.mlir
M flang/test/Fir/cse.fir
M flang/test/Fir/invalid-types.fir
M flang/test/Fir/invalid.fir
A flang/test/Fir/target-rewrite-fmfs.fir
M flang/test/Fir/target-rewrite-selective.fir
M flang/test/HLFIR/assign-codegen.fir
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/char_extremum-bufferization.fir
M flang/test/HLFIR/concat-bufferization.fir
M flang/test/HLFIR/elemental-codegen.fir
A flang/test/HLFIR/minval-maxval-issue-134308.fir
A flang/test/HLFIR/volatile1.fir
A flang/test/HLFIR/volatile2.fir
A flang/test/HLFIR/volatile3.fir
A flang/test/HLFIR/volatile4.fir
M flang/test/Integration/OpenMP/atomic-capture-complex.f90
A flang/test/Integration/amdgpu-code-object-version.f90
M flang/test/Integration/debug-local-var-2.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
M flang/test/Lower/CUDA/cuda-doconc.cuf
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
M flang/test/Lower/Intrinsics/ieee_flag.f90
A flang/test/Lower/Intrinsics/putenv-func.f90
A flang/test/Lower/Intrinsics/putenv-sub.f90
A flang/test/Lower/Intrinsics/time.f90
A flang/test/Lower/Intrinsics/unlink-func.f90
A flang/test/Lower/Intrinsics/unlink-sub.f90
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-exit-data.f90
M flang/test/Lower/OpenACC/acc-host-data.f90
M flang/test/Lower/OpenACC/acc-init.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-shutdown.f90
M flang/test/Lower/OpenACC/acc-update.f90
R flang/test/Lower/OpenMP/Todo/depend-clause-vector-subscript-array-section.f90
A flang/test/Lower/OpenMP/cancel.f90
A flang/test/Lower/OpenMP/cancellationpoint.f90
A flang/test/Lower/OpenMP/clause-cleanup.f90
A flang/test/Lower/OpenMP/copyprivate3.f90
M flang/test/Lower/OpenMP/generic-loop-rewriting.f90
M flang/test/Lower/OpenMP/host-eval.f90
M flang/test/Lower/OpenMP/loop-directive.f90
A flang/test/Lower/OpenMP/optional-argument-map.f90
M flang/test/Lower/OpenMP/task-depend-array-section.f90
A flang/test/Lower/OpenMP/threadprivate-host-association-3.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/array-constructor-2.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/optional-value-caller.f90
M flang/test/Lower/pointer-references.f90
M flang/test/Lower/polymorphic.f90
A flang/test/Lower/repack-arrays-safe.f90
M flang/test/Lower/repack-arrays.f90
M flang/test/Lower/statement-function.f90
M flang/test/Lower/structure-constructors.f90
A flang/test/Parser/OpenMP/bug518.f
M flang/test/Parser/OpenMP/compiler-directive-continuation.f90
M flang/test/Parser/OpenMP/sentinels.f
M flang/test/Parser/continuation-in-conditional-compilation.f
M flang/test/Preprocessing/bug126459.F90
A flang/test/Preprocessing/bug134986.F90
A flang/test/Preprocessing/bug518.F
M flang/test/Preprocessing/directive-contin-with-pp.F90
M flang/test/Preprocessing/kind-suffix.F90
M flang/test/Preprocessing/line-in-contin.F90
A flang/test/Preprocessing/pp047.F
M flang/test/Preprocessing/pp132.f90
A flang/test/Preprocessing/pp135.F90
M flang/test/Preprocessing/preprocessed-dirs.F90
M flang/test/Semantics/OpenACC/acc-atomic-validity.f90
M flang/test/Semantics/OpenACC/acc-data.f90
M flang/test/Semantics/OpenACC/acc-declare-validity.f90
M flang/test/Semantics/OpenACC/acc-host-data.f90
M flang/test/Semantics/OpenACC/acc-init-validity.f90
M flang/test/Semantics/OpenACC/acc-shutdown-validity.f90
M flang/test/Semantics/OpenACC/acc-update-validity.f90
M flang/test/Semantics/OpenMP/default-none.f90
M flang/test/Semantics/OpenMP/interop-construct.f90
A flang/test/Semantics/OpenMP/threadprivate09.f90
M flang/test/Semantics/cuf-device-procedures02.cuf
M flang/test/Semantics/cuf09.cuf
M flang/test/Semantics/cuf10.cuf
A flang/test/Semantics/putenv.f90
M flang/test/Semantics/resolve18.f90
M flang/test/Semantics/spec-expr.f90
M flang/test/Semantics/test_errors.py
M flang/test/Transforms/DoConcurrent/loop_nest_test.f90
A flang/test/Transforms/lower-repack-arrays-openacc.fir
A flang/test/Transforms/lower-repack-arrays-openmp.fir
M flang/test/Transforms/lower-repack-arrays.fir
M flang/tools/bbc/CMakeLists.txt
M flang/tools/bbc/bbc.cpp
M flang/tools/fir-lsp-server/CMakeLists.txt
M flang/tools/fir-opt/CMakeLists.txt
M flang/tools/tco/CMakeLists.txt
M flang/unittests/Optimizer/CMakeLists.txt
M flang/unittests/Optimizer/FIRTypesTest.cpp
M libc/Maintainers.rst
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/aarch64/headers.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/arm/headers.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/baremetal/riscv/headers.txt
M libc/config/darwin/arm/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/porting.rst
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_itimerval.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
R libc/include/llvm-libc-types/__bsearchcompare_t.h
R libc/include/llvm-libc-types/__lsearchcompare_t.h
A libc/include/llvm-libc-types/__search_compare_t.h
A libc/include/llvm-libc-types/struct_itimerval.h
M libc/include/llvm-libc-types/suseconds_t.h
M libc/include/search.yaml
M libc/include/stdlib.yaml
M libc/include/sys/time.yaml
M libc/src/__support/FPUtil/aarch64/sqrt.h
A libc/src/__support/FPUtil/arm/sqrt.h
M libc/src/__support/FPUtil/riscv/sqrt.h
M libc/src/__support/FPUtil/sqrt.h
M libc/src/__support/macros/properties/cpu_features.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/acosf.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/asinhf.cpp
M libc/src/math/generic/atan2.cpp
M libc/src/math/generic/atan2f.cpp
M libc/src/math/generic/atanhf.cpp
M libc/src/math/generic/cos.cpp
M libc/src/math/generic/cosf.cpp
M libc/src/math/generic/cosf16.cpp
M libc/src/math/generic/cospif.cpp
M libc/src/math/generic/cospif16.cpp
M libc/src/math/generic/erff.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/pow.cpp
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/sin.cpp
M libc/src/math/generic/sincos.cpp
M libc/src/math/generic/sincosf.cpp
M libc/src/math/generic/sinf.cpp
M libc/src/math/generic/sinf16.cpp
M libc/src/math/generic/sinpif.cpp
M libc/src/math/generic/sinpif16.cpp
M libc/src/math/generic/tan.cpp
M libc/src/math/generic/tanf.cpp
M libc/src/math/generic/tanf16.cpp
M libc/src/math/generic/tanpif16.cpp
M libc/src/sys/CMakeLists.txt
A libc/src/sys/time/CMakeLists.txt
A libc/src/sys/time/getitimer.h
A libc/src/sys/time/linux/CMakeLists.txt
A libc/src/sys/time/linux/getitimer.cpp
A libc/src/sys/time/linux/setitimer.cpp
A libc/src/sys/time/linux/utimes.cpp
A libc/src/sys/time/setitimer.h
A libc/src/sys/time/utimes.h
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/str_to_float_comparison_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/acosf_test.cpp
M libc/test/src/math/smoke/acoshf_test.cpp
M libc/test/src/math/smoke/asinf_test.cpp
M libc/test/src/math/smoke/asinhf_test.cpp
M libc/test/src/math/smoke/atan2_test.cpp
M libc/test/src/math/smoke/atan2f_test.cpp
M libc/test/src/math/smoke/atan_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
M libc/test/src/math/smoke/cbrt_test.cpp
M libc/test/src/math/smoke/cbrtf_test.cpp
M libc/test/src/math/smoke/cos_test.cpp
M libc/test/src/math/smoke/cosf16_test.cpp
M libc/test/src/math/smoke/cosf_test.cpp
M libc/test/src/math/smoke/coshf_test.cpp
M libc/test/src/math/smoke/cospif16_test.cpp
M libc/test/src/math/smoke/cospif_test.cpp
M libc/test/src/math/smoke/erff_test.cpp
M libc/test/src/math/smoke/exp10_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp10m1f_test.cpp
M libc/test/src/math/smoke/exp2_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/exp2m1f_test.cpp
M libc/test/src/math/smoke/exp_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
M libc/test/src/math/smoke/log10_test.cpp
M libc/test/src/math/smoke/log10f_test.cpp
M libc/test/src/math/smoke/log1p_test.cpp
M libc/test/src/math/smoke/log1pf_test.cpp
M libc/test/src/math/smoke/log2_test.cpp
M libc/test/src/math/smoke/log2f_test.cpp
M libc/test/src/math/smoke/log_test.cpp
M libc/test/src/math/smoke/logf_test.cpp
M libc/test/src/math/smoke/pow_test.cpp
M libc/test/src/math/smoke/powf_test.cpp
M libc/test/src/math/smoke/sin_test.cpp
M libc/test/src/math/smoke/sincos_test.cpp
M libc/test/src/math/smoke/sincosf_test.cpp
M libc/test/src/math/smoke/sinf16_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/smoke/sinpif16_test.cpp
M libc/test/src/math/smoke/sinpif_test.cpp
M libc/test/src/math/smoke/tan_test.cpp
M libc/test/src/math/smoke/tanf16_test.cpp
M libc/test/src/math/smoke/tanf_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
M libc/test/src/math/smoke/tanpif16_test.cpp
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/time/CMakeLists.txt
A libc/test/src/sys/time/getitimer_test.cpp
A libc/test/src/sys/time/setitimer_test.cpp
A libc/test/src/sys/time/utimes_test.cpp
M libc/test/src/time/ctime_test.cpp
A libclc/clc/include/clc/integer/clc_ctz.h
M libclc/clc/include/clc/integer/gentype.inc
M libclc/clc/include/clc/math/gentype.inc
A libclc/clc/include/clc/misc/clc_shuffle.h
A libclc/clc/include/clc/misc/clc_shuffle2.h
A libclc/clc/include/clc/misc/shuffle2_decl.inc
A libclc/clc/include/clc/misc/shuffle2_def.inc
A libclc/clc/include/clc/misc/shuffle_decl.inc
A libclc/clc/include/clc/misc/shuffle_def.inc
M libclc/clc/lib/clspv/integer/clc_mul_hi.cl
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/integer/clc_ctz.cl
M libclc/clc/lib/generic/math/clc_frexp.inc
A libclc/clc/lib/generic/misc/clc_shuffle.cl
A libclc/clc/lib/generic/misc/clc_shuffle2.cl
M libclc/clspv/lib/math/fma.cl
M libclc/cmake/modules/AddLibclc.cmake
R libclc/generic/include/clc/atom_decl_int32.inc
R libclc/generic/include/clc/atom_decl_int64.inc
A libclc/generic/include/clc/atomic/atom_add.h
A libclc/generic/include/clc/atomic/atom_and.h
A libclc/generic/include/clc/atomic/atom_cmpxchg.h
A libclc/generic/include/clc/atomic/atom_dec.h
A libclc/generic/include/clc/atomic/atom_decl_int32.inc
A libclc/generic/include/clc/atomic/atom_decl_int64.inc
A libclc/generic/include/clc/atomic/atom_inc.h
A libclc/generic/include/clc/atomic/atom_max.h
A libclc/generic/include/clc/atomic/atom_min.h
A libclc/generic/include/clc/atomic/atom_or.h
A libclc/generic/include/clc/atomic/atom_sub.h
A libclc/generic/include/clc/atomic/atom_xchg.h
A libclc/generic/include/clc/atomic/atom_xor.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_add.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_cmpxchg.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_dec.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_inc.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_sub.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_xchg.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_and.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_max.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_min.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_or.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_xor.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_add.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_cmpxchg.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_dec.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_inc.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_sub.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_xchg.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_and.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_max.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_min.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_or.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_xor.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_add.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_cmpxchg.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_dec.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_inc.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_sub.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_xchg.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_and.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_max.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_min.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_or.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_xor.h
M libclc/generic/include/clc/clc.h
A libclc/generic/include/clc/integer/ctz.h
M libclc/generic/include/clc/misc/shuffle.h
M libclc/generic/include/clc/misc/shuffle2.h
M libclc/generic/lib/SOURCES
R libclc/generic/lib/atom_int32_binary.inc
A libclc/generic/lib/atomic/atom_add.cl
A libclc/generic/lib/atomic/atom_and.cl
A libclc/generic/lib/atomic/atom_cmpxchg.cl
A libclc/generic/lib/atomic/atom_dec.cl
A libclc/generic/lib/atomic/atom_inc.cl
A libclc/generic/lib/atomic/atom_int32_binary.inc
A libclc/generic/lib/atomic/atom_max.cl
A libclc/generic/lib/atomic/atom_min.cl
A libclc/generic/lib/atomic/atom_or.cl
A libclc/generic/lib/atomic/atom_sub.cl
A libclc/generic/lib/atomic/atom_xchg.cl
A libclc/generic/lib/atomic/atom_xor.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_add.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_cmpxchg.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_dec.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_inc.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_sub.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_xchg.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_and.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_max.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_min.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_or.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_xor.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_add.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_cmpxchg.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_dec.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_inc.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_sub.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_xchg.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_and.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_max.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_min.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_or.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_xor.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_add.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_cmpxchg.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_dec.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_inc.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_sub.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_xchg.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_and.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_max.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_min.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_or.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_xor.cl
A libclc/generic/lib/integer/ctz.cl
M libclc/generic/lib/misc/shuffle.cl
M libclc/generic/lib/misc/shuffle2.cl
M libcxx/.clang-format
M libcxx/cmake/caches/AMDGPU.cmake
M libcxx/docs/DesignDocs/VisibilityMacros.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes.rst
R libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx23.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__algorithm/out_value_result.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/memory_order.h
M libcxx/include/__atomic/support.h
M libcxx/include/__bit/bit_log2.h
M libcxx/include/__bit/popcount.h
M libcxx/include/__charconv/tables.h
M libcxx/include/__charconv/to_chars_base_10.h
M libcxx/include/__charconv/to_chars_integral.h
M libcxx/include/__charconv/to_chars_result.h
M libcxx/include/__charconv/traits.h
M libcxx/include/__chrono/duration.h
M libcxx/include/__chrono/formatter.h
M libcxx/include/__chrono/parser_std_format_spec.h
M libcxx/include/__chrono/time_point.h
M libcxx/include/__compare/common_comparison_category.h
M libcxx/include/__compare/compare_three_way.h
M libcxx/include/__compare/compare_three_way_result.h
M libcxx/include/__condition_variable/condition_variable.h
M libcxx/include/__config
M libcxx/include/__configuration/availability.h
M libcxx/include/__configuration/platform.h
M libcxx/include/__coroutine/coroutine_handle.h
M libcxx/include/__coroutine/noop_coroutine_handle.h
R libcxx/include/__cxx03/__algorithm/clamp.h
M libcxx/include/__cxx03/__algorithm/count.h
M libcxx/include/__cxx03/__algorithm/equal.h
M libcxx/include/__cxx03/__algorithm/equal_range.h
M libcxx/include/__cxx03/__algorithm/find.h
M libcxx/include/__cxx03/__algorithm/find_end.h
R libcxx/include/__cxx03/__algorithm/fold.h
M libcxx/include/__cxx03/__algorithm/for_each.h
R libcxx/include/__cxx03/__algorithm/for_each_n.h
R libcxx/include/__cxx03/__algorithm/in_found_result.h
R libcxx/include/__cxx03/__algorithm/in_fun_result.h
R libcxx/include/__cxx03/__algorithm/in_in_out_result.h
R libcxx/include/__cxx03/__algorithm/in_in_result.h
R libcxx/include/__cxx03/__algorithm/in_out_out_result.h
R libcxx/include/__cxx03/__algorithm/in_out_result.h
M libcxx/include/__cxx03/__algorithm/includes.h
M libcxx/include/__cxx03/__algorithm/is_permutation.h
M libcxx/include/__cxx03/__algorithm/iterator_operations.h
R libcxx/include/__cxx03/__algorithm/lexicographical_compare_three_way.h
M libcxx/include/__cxx03/__algorithm/lower_bound.h
M libcxx/include/__cxx03/__algorithm/make_projected.h
M libcxx/include/__cxx03/__algorithm/max.h
M libcxx/include/__cxx03/__algorithm/min.h
M libcxx/include/__cxx03/__algorithm/min_element.h
R libcxx/include/__cxx03/__algorithm/min_max_result.h
M libcxx/include/__cxx03/__algorithm/minmax.h
M libcxx/include/__cxx03/__algorithm/minmax_element.h
M libcxx/include/__cxx03/__algorithm/partial_sort_copy.h
R libcxx/include/__cxx03/__algorithm/pstl.h
R libcxx/include/__cxx03/__algorithm/ranges_adjacent_find.h
R libcxx/include/__cxx03/__algorithm/ranges_all_of.h
R libcxx/include/__cxx03/__algorithm/ranges_any_of.h
R libcxx/include/__cxx03/__algorithm/ranges_binary_search.h
R libcxx/include/__cxx03/__algorithm/ranges_clamp.h
R libcxx/include/__cxx03/__algorithm/ranges_contains.h
R libcxx/include/__cxx03/__algorithm/ranges_contains_subrange.h
R libcxx/include/__cxx03/__algorithm/ranges_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_copy_backward.h
R libcxx/include/__cxx03/__algorithm/ranges_copy_if.h
R libcxx/include/__cxx03/__algorithm/ranges_copy_n.h
R libcxx/include/__cxx03/__algorithm/ranges_count.h
R libcxx/include/__cxx03/__algorithm/ranges_count_if.h
R libcxx/include/__cxx03/__algorithm/ranges_ends_with.h
R libcxx/include/__cxx03/__algorithm/ranges_equal.h
R libcxx/include/__cxx03/__algorithm/ranges_equal_range.h
R libcxx/include/__cxx03/__algorithm/ranges_fill.h
R libcxx/include/__cxx03/__algorithm/ranges_fill_n.h
R libcxx/include/__cxx03/__algorithm/ranges_find.h
R libcxx/include/__cxx03/__algorithm/ranges_find_end.h
R libcxx/include/__cxx03/__algorithm/ranges_find_first_of.h
R libcxx/include/__cxx03/__algorithm/ranges_find_if.h
R libcxx/include/__cxx03/__algorithm/ranges_find_if_not.h
R libcxx/include/__cxx03/__algorithm/ranges_find_last.h
R libcxx/include/__cxx03/__algorithm/ranges_for_each.h
R libcxx/include/__cxx03/__algorithm/ranges_for_each_n.h
R libcxx/include/__cxx03/__algorithm/ranges_generate.h
R libcxx/include/__cxx03/__algorithm/ranges_generate_n.h
R libcxx/include/__cxx03/__algorithm/ranges_includes.h
R libcxx/include/__cxx03/__algorithm/ranges_inplace_merge.h
R libcxx/include/__cxx03/__algorithm/ranges_is_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_is_heap_until.h
R libcxx/include/__cxx03/__algorithm/ranges_is_partitioned.h
R libcxx/include/__cxx03/__algorithm/ranges_is_permutation.h
R libcxx/include/__cxx03/__algorithm/ranges_is_sorted.h
R libcxx/include/__cxx03/__algorithm/ranges_is_sorted_until.h
R libcxx/include/__cxx03/__algorithm/ranges_iterator_concept.h
R libcxx/include/__cxx03/__algorithm/ranges_lexicographical_compare.h
R libcxx/include/__cxx03/__algorithm/ranges_lower_bound.h
R libcxx/include/__cxx03/__algorithm/ranges_make_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_max.h
R libcxx/include/__cxx03/__algorithm/ranges_max_element.h
R libcxx/include/__cxx03/__algorithm/ranges_merge.h
R libcxx/include/__cxx03/__algorithm/ranges_min.h
R libcxx/include/__cxx03/__algorithm/ranges_min_element.h
R libcxx/include/__cxx03/__algorithm/ranges_minmax.h
R libcxx/include/__cxx03/__algorithm/ranges_minmax_element.h
R libcxx/include/__cxx03/__algorithm/ranges_mismatch.h
R libcxx/include/__cxx03/__algorithm/ranges_move.h
R libcxx/include/__cxx03/__algorithm/ranges_move_backward.h
R libcxx/include/__cxx03/__algorithm/ranges_next_permutation.h
R libcxx/include/__cxx03/__algorithm/ranges_none_of.h
R libcxx/include/__cxx03/__algorithm/ranges_nth_element.h
R libcxx/include/__cxx03/__algorithm/ranges_partial_sort.h
R libcxx/include/__cxx03/__algorithm/ranges_partial_sort_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_partition.h
R libcxx/include/__cxx03/__algorithm/ranges_partition_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_partition_point.h
R libcxx/include/__cxx03/__algorithm/ranges_pop_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_prev_permutation.h
R libcxx/include/__cxx03/__algorithm/ranges_push_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_remove.h
R libcxx/include/__cxx03/__algorithm/ranges_remove_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_remove_copy_if.h
R libcxx/include/__cxx03/__algorithm/ranges_remove_if.h
R libcxx/include/__cxx03/__algorithm/ranges_replace.h
R libcxx/include/__cxx03/__algorithm/ranges_replace_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_replace_copy_if.h
R libcxx/include/__cxx03/__algorithm/ranges_replace_if.h
R libcxx/include/__cxx03/__algorithm/ranges_reverse.h
R libcxx/include/__cxx03/__algorithm/ranges_reverse_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_rotate.h
R libcxx/include/__cxx03/__algorithm/ranges_rotate_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_sample.h
R libcxx/include/__cxx03/__algorithm/ranges_search.h
R libcxx/include/__cxx03/__algorithm/ranges_search_n.h
R libcxx/include/__cxx03/__algorithm/ranges_set_difference.h
R libcxx/include/__cxx03/__algorithm/ranges_set_intersection.h
R libcxx/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h
R libcxx/include/__cxx03/__algorithm/ranges_set_union.h
R libcxx/include/__cxx03/__algorithm/ranges_shuffle.h
R libcxx/include/__cxx03/__algorithm/ranges_sort.h
R libcxx/include/__cxx03/__algorithm/ranges_sort_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_stable_partition.h
R libcxx/include/__cxx03/__algorithm/ranges_stable_sort.h
R libcxx/include/__cxx03/__algorithm/ranges_starts_with.h
R libcxx/include/__cxx03/__algorithm/ranges_swap_ranges.h
R libcxx/include/__cxx03/__algorithm/ranges_transform.h
R libcxx/include/__cxx03/__algorithm/ranges_unique.h
R libcxx/include/__cxx03/__algorithm/ranges_unique_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_upper_bound.h
R libcxx/include/__cxx03/__algorithm/sample.h
M libcxx/include/__cxx03/__algorithm/search.h
M libcxx/include/__cxx03/__algorithm/search_n.h
M libcxx/include/__cxx03/__algorithm/set_difference.h
M libcxx/include/__cxx03/__algorithm/set_intersection.h
R libcxx/include/__cxx03/__algorithm/shift_left.h
R libcxx/include/__cxx03/__algorithm/shift_right.h
M libcxx/include/__cxx03/__algorithm/simd_utils.h
M libcxx/include/__cxx03/__algorithm/sort.h
M libcxx/include/__cxx03/__algorithm/unwrap_range.h
M libcxx/include/__cxx03/__algorithm/upper_bound.h
R libcxx/include/__cxx03/__atomic/atomic_ref.h
R libcxx/include/__cxx03/__bit/bit_cast.h
R libcxx/include/__cxx03/__bit/bit_ceil.h
R libcxx/include/__cxx03/__bit/bit_floor.h
R libcxx/include/__cxx03/__bit/bit_log2.h
R libcxx/include/__cxx03/__bit/bit_width.h
R libcxx/include/__cxx03/__bit/byteswap.h
M libcxx/include/__cxx03/__bit/countl.h
M libcxx/include/__cxx03/__bit/countr.h
R libcxx/include/__cxx03/__bit/endian.h
R libcxx/include/__cxx03/__bit/has_single_bit.h
M libcxx/include/__cxx03/__bit/invert_if.h
M libcxx/include/__cxx03/__bit/popcount.h
M libcxx/include/__cxx03/__bit/rotate.h
M libcxx/include/__cxx03/__bit_reference
R libcxx/include/__cxx03/__charconv/chars_format.h
R libcxx/include/__cxx03/__charconv/from_chars_integral.h
R libcxx/include/__cxx03/__charconv/from_chars_result.h
R libcxx/include/__cxx03/__charconv/tables.h
R libcxx/include/__cxx03/__charconv/to_chars.h
R libcxx/include/__cxx03/__charconv/to_chars_base_10.h
R libcxx/include/__cxx03/__charconv/to_chars_floating_point.h
R libcxx/include/__cxx03/__charconv/to_chars_integral.h
R libcxx/include/__cxx03/__charconv/to_chars_result.h
R libcxx/include/__cxx03/__charconv/traits.h
R libcxx/include/__cxx03/__chrono/calendar.h
R libcxx/include/__cxx03/__chrono/concepts.h
R libcxx/include/__cxx03/__chrono/convert_to_tm.h
R libcxx/include/__cxx03/__chrono/day.h
M libcxx/include/__cxx03/__chrono/duration.h
R libcxx/include/__cxx03/__chrono/exception.h
R libcxx/include/__cxx03/__chrono/file_clock.h
R libcxx/include/__cxx03/__chrono/formatter.h
R libcxx/include/__cxx03/__chrono/hh_mm_ss.h
R libcxx/include/__cxx03/__chrono/leap_second.h
R libcxx/include/__cxx03/__chrono/literals.h
R libcxx/include/__cxx03/__chrono/local_info.h
R libcxx/include/__cxx03/__chrono/month.h
R libcxx/include/__cxx03/__chrono/month_weekday.h
R libcxx/include/__cxx03/__chrono/monthday.h
R libcxx/include/__cxx03/__chrono/ostream.h
R libcxx/include/__cxx03/__chrono/parser_std_format_spec.h
R libcxx/include/__cxx03/__chrono/statically_widen.h
R libcxx/include/__cxx03/__chrono/sys_info.h
M libcxx/include/__cxx03/__chrono/time_point.h
R libcxx/include/__cxx03/__chrono/time_zone.h
R libcxx/include/__cxx03/__chrono/time_zone_link.h
R libcxx/include/__cxx03/__chrono/tzdb.h
R libcxx/include/__cxx03/__chrono/tzdb_list.h
R libcxx/include/__cxx03/__chrono/weekday.h
R libcxx/include/__cxx03/__chrono/year.h
R libcxx/include/__cxx03/__chrono/year_month.h
R libcxx/include/__cxx03/__chrono/year_month_day.h
R libcxx/include/__cxx03/__chrono/year_month_weekday.h
R libcxx/include/__cxx03/__chrono/zoned_time.h
R libcxx/include/__cxx03/__compare/common_comparison_category.h
R libcxx/include/__cxx03/__compare/compare_partial_order_fallback.h
R libcxx/include/__cxx03/__compare/compare_strong_order_fallback.h
R libcxx/include/__cxx03/__compare/compare_three_way.h
R libcxx/include/__cxx03/__compare/compare_three_way_result.h
R libcxx/include/__cxx03/__compare/compare_weak_order_fallback.h
R libcxx/include/__cxx03/__compare/is_eq.h
R libcxx/include/__cxx03/__compare/ordering.h
R libcxx/include/__cxx03/__compare/partial_order.h
R libcxx/include/__cxx03/__compare/strong_order.h
R libcxx/include/__cxx03/__compare/synth_three_way.h
R libcxx/include/__cxx03/__compare/three_way_comparable.h
R libcxx/include/__cxx03/__compare/weak_order.h
R libcxx/include/__cxx03/__concepts/arithmetic.h
R libcxx/include/__cxx03/__concepts/assignable.h
R libcxx/include/__cxx03/__concepts/boolean_testable.h
R libcxx/include/__cxx03/__concepts/class_or_enum.h
R libcxx/include/__cxx03/__concepts/common_reference_with.h
R libcxx/include/__cxx03/__concepts/common_with.h
R libcxx/include/__cxx03/__concepts/constructible.h
R libcxx/include/__cxx03/__concepts/convertible_to.h
R libcxx/include/__cxx03/__concepts/copyable.h
R libcxx/include/__cxx03/__concepts/derived_from.h
R libcxx/include/__cxx03/__concepts/destructible.h
R libcxx/include/__cxx03/__concepts/different_from.h
R libcxx/include/__cxx03/__concepts/equality_comparable.h
R libcxx/include/__cxx03/__concepts/invocable.h
R libcxx/include/__cxx03/__concepts/movable.h
R libcxx/include/__cxx03/__concepts/predicate.h
R libcxx/include/__cxx03/__concepts/regular.h
R libcxx/include/__cxx03/__concepts/relation.h
R libcxx/include/__cxx03/__concepts/same_as.h
R libcxx/include/__cxx03/__concepts/semiregular.h
R libcxx/include/__cxx03/__concepts/swappable.h
R libcxx/include/__cxx03/__concepts/totally_ordered.h
R libcxx/include/__cxx03/__coroutine/coroutine_handle.h
R libcxx/include/__cxx03/__coroutine/coroutine_traits.h
R libcxx/include/__cxx03/__coroutine/noop_coroutine_handle.h
R libcxx/include/__cxx03/__coroutine/trivial_awaitables.h
R libcxx/include/__cxx03/__expected/bad_expected_access.h
R libcxx/include/__cxx03/__expected/expected.h
R libcxx/include/__cxx03/__expected/unexpect.h
R libcxx/include/__cxx03/__expected/unexpected.h
R libcxx/include/__cxx03/__filesystem/copy_options.h
R libcxx/include/__cxx03/__filesystem/directory_entry.h
R libcxx/include/__cxx03/__filesystem/directory_iterator.h
R libcxx/include/__cxx03/__filesystem/directory_options.h
R libcxx/include/__cxx03/__filesystem/file_status.h
R libcxx/include/__cxx03/__filesystem/file_time_type.h
R libcxx/include/__cxx03/__filesystem/file_type.h
R libcxx/include/__cxx03/__filesystem/filesystem_error.h
R libcxx/include/__cxx03/__filesystem/operations.h
R libcxx/include/__cxx03/__filesystem/path.h
R libcxx/include/__cxx03/__filesystem/path_iterator.h
R libcxx/include/__cxx03/__filesystem/perm_options.h
R libcxx/include/__cxx03/__filesystem/perms.h
R libcxx/include/__cxx03/__filesystem/recursive_directory_iterator.h
R libcxx/include/__cxx03/__filesystem/space_info.h
R libcxx/include/__cxx03/__filesystem/u8path.h
R libcxx/include/__cxx03/__format/buffer.h
R libcxx/include/__cxx03/__format/concepts.h
R libcxx/include/__cxx03/__format/container_adaptor.h
R libcxx/include/__cxx03/__format/enable_insertable.h
R libcxx/include/__cxx03/__format/escaped_output_table.h
R libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h
R libcxx/include/__cxx03/__format/format_arg.h
R libcxx/include/__cxx03/__format/format_arg_store.h
R libcxx/include/__cxx03/__format/format_args.h
R libcxx/include/__cxx03/__format/format_context.h
R libcxx/include/__cxx03/__format/format_error.h
R libcxx/include/__cxx03/__format/format_functions.h
R libcxx/include/__cxx03/__format/format_parse_context.h
R libcxx/include/__cxx03/__format/format_string.h
R libcxx/include/__cxx03/__format/format_to_n_result.h
R libcxx/include/__cxx03/__format/formatter.h
R libcxx/include/__cxx03/__format/formatter_bool.h
R libcxx/include/__cxx03/__format/formatter_char.h
R libcxx/include/__cxx03/__format/formatter_floating_point.h
R libcxx/include/__cxx03/__format/formatter_integer.h
R libcxx/include/__cxx03/__format/formatter_integral.h
R libcxx/include/__cxx03/__format/formatter_output.h
R libcxx/include/__cxx03/__format/formatter_pointer.h
R libcxx/include/__cxx03/__format/formatter_string.h
R libcxx/include/__cxx03/__format/formatter_tuple.h
R libcxx/include/__cxx03/__format/indic_conjunct_break_table.h
R libcxx/include/__cxx03/__format/parser_std_format_spec.h
R libcxx/include/__cxx03/__format/range_default_formatter.h
R libcxx/include/__cxx03/__format/range_formatter.h
R libcxx/include/__cxx03/__format/unicode.h
R libcxx/include/__cxx03/__format/width_estimation_table.h
R libcxx/include/__cxx03/__format/write_escaped.h
M libcxx/include/__cxx03/__functional/bind.h
R libcxx/include/__cxx03/__functional/bind_back.h
R libcxx/include/__cxx03/__functional/bind_front.h
R libcxx/include/__cxx03/__functional/boyer_moore_searcher.h
R libcxx/include/__cxx03/__functional/compose.h
R libcxx/include/__cxx03/__functional/default_searcher.h
R libcxx/include/__cxx03/__functional/function.h
R libcxx/include/__cxx03/__functional/invoke.h
R libcxx/include/__cxx03/__functional/is_transparent.h
M libcxx/include/__cxx03/__functional/mem_fn.h
R libcxx/include/__cxx03/__functional/not_fn.h
R libcxx/include/__cxx03/__functional/perfect_forward.h
R libcxx/include/__cxx03/__functional/ranges_operations.h
M libcxx/include/__cxx03/__functional/reference_wrapper.h
M libcxx/include/__cxx03/__functional/weak_result_type.h
R libcxx/include/__cxx03/__fwd/format.h
R libcxx/include/__cxx03/__fwd/mdspan.h
R libcxx/include/__cxx03/__fwd/memory_resource.h
R libcxx/include/__cxx03/__fwd/span.h
M libcxx/include/__cxx03/__fwd/string.h
R libcxx/include/__cxx03/__fwd/subrange.h
M libcxx/include/__cxx03/__hash_table
M libcxx/include/__cxx03/__iterator/advance.h
M libcxx/include/__cxx03/__iterator/bounded_iter.h
R libcxx/include/__cxx03/__iterator/common_iterator.h
R libcxx/include/__cxx03/__iterator/concepts.h
R libcxx/include/__cxx03/__iterator/counted_iterator.h
R libcxx/include/__cxx03/__iterator/data.h
R libcxx/include/__cxx03/__iterator/default_sentinel.h
M libcxx/include/__cxx03/__iterator/distance.h
R libcxx/include/__cxx03/__iterator/empty.h
R libcxx/include/__cxx03/__iterator/incrementable_traits.h
R libcxx/include/__cxx03/__iterator/indirectly_comparable.h
M libcxx/include/__cxx03/__iterator/insert_iterator.h
M libcxx/include/__cxx03/__iterator/istream_iterator.h
M libcxx/include/__cxx03/__iterator/istreambuf_iterator.h
R libcxx/include/__cxx03/__iterator/iter_move.h
R libcxx/include/__cxx03/__iterator/iter_swap.h
M libcxx/include/__cxx03/__iterator/iterator_traits.h
R libcxx/include/__cxx03/__iterator/iterator_with_data.h
R libcxx/include/__cxx03/__iterator/mergeable.h
M libcxx/include/__cxx03/__iterator/move_iterator.h
R libcxx/include/__cxx03/__iterator/move_sentinel.h
M libcxx/include/__cxx03/__iterator/next.h
R libcxx/include/__cxx03/__iterator/permutable.h
M libcxx/include/__cxx03/__iterator/prev.h
R libcxx/include/__cxx03/__iterator/projected.h
R libcxx/include/__cxx03/__iterator/ranges_iterator_traits.h
R libcxx/include/__cxx03/__iterator/readable_traits.h
R libcxx/include/__cxx03/__iterator/reverse_access.h
M libcxx/include/__cxx03/__iterator/reverse_iterator.h
R libcxx/include/__cxx03/__iterator/size.h
R libcxx/include/__cxx03/__iterator/sortable.h
R libcxx/include/__cxx03/__iterator/unreachable_sentinel.h
M libcxx/include/__cxx03/__iterator/wrap_iter.h
R libcxx/include/__cxx03/__math/special_functions.h
R libcxx/include/__cxx03/__mdspan/default_accessor.h
R libcxx/include/__cxx03/__mdspan/extents.h
R libcxx/include/__cxx03/__mdspan/layout_left.h
R libcxx/include/__cxx03/__mdspan/layout_right.h
R libcxx/include/__cxx03/__mdspan/layout_stride.h
R libcxx/include/__cxx03/__mdspan/mdspan.h
R libcxx/include/__cxx03/__memory/concepts.h
R libcxx/include/__cxx03/__memory/inout_ptr.h
R libcxx/include/__cxx03/__memory/out_ptr.h
R libcxx/include/__cxx03/__memory/ranges_construct_at.h
R libcxx/include/__cxx03/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__cxx03/__memory/shared_ptr.h
M libcxx/include/__cxx03/__memory/unique_ptr.h
R libcxx/include/__cxx03/__memory/uses_allocator_construction.h
R libcxx/include/__cxx03/__memory_resource/memory_resource.h
R libcxx/include/__cxx03/__memory_resource/monotonic_buffer_resource.h
R libcxx/include/__cxx03/__memory_resource/polymorphic_allocator.h
R libcxx/include/__cxx03/__memory_resource/pool_options.h
R libcxx/include/__cxx03/__memory_resource/synchronized_pool_resource.h
R libcxx/include/__cxx03/__memory_resource/unsynchronized_pool_resource.h
M libcxx/include/__cxx03/__mutex/once_flag.h
R libcxx/include/__cxx03/__node_handle
R libcxx/include/__cxx03/__numeric/exclusive_scan.h
R libcxx/include/__cxx03/__numeric/gcd_lcm.h
R libcxx/include/__cxx03/__numeric/inclusive_scan.h
R libcxx/include/__cxx03/__numeric/midpoint.h
R libcxx/include/__cxx03/__numeric/pstl.h
R libcxx/include/__cxx03/__numeric/reduce.h
R libcxx/include/__cxx03/__numeric/saturation_arithmetic.h
R libcxx/include/__cxx03/__numeric/transform_exclusive_scan.h
R libcxx/include/__cxx03/__numeric/transform_inclusive_scan.h
R libcxx/include/__cxx03/__numeric/transform_reduce.h
R libcxx/include/__cxx03/__ostream/print.h
R libcxx/include/__cxx03/__pstl/backend.h
R libcxx/include/__cxx03/__pstl/backend_fwd.h
R libcxx/include/__cxx03/__pstl/backends/default.h
R libcxx/include/__cxx03/__pstl/backends/libdispatch.h
R libcxx/include/__cxx03/__pstl/backends/serial.h
R libcxx/include/__cxx03/__pstl/backends/std_thread.h
R libcxx/include/__cxx03/__pstl/cpu_algos/any_of.h
R libcxx/include/__cxx03/__pstl/cpu_algos/cpu_traits.h
R libcxx/include/__cxx03/__pstl/cpu_algos/fill.h
R libcxx/include/__cxx03/__pstl/cpu_algos/find_if.h
R libcxx/include/__cxx03/__pstl/cpu_algos/for_each.h
R libcxx/include/__cxx03/__pstl/cpu_algos/merge.h
R libcxx/include/__cxx03/__pstl/cpu_algos/stable_sort.h
R libcxx/include/__cxx03/__pstl/cpu_algos/transform.h
R libcxx/include/__cxx03/__pstl/cpu_algos/transform_reduce.h
R libcxx/include/__cxx03/__pstl/dispatch.h
R libcxx/include/__cxx03/__pstl/handle_exception.h
M libcxx/include/__cxx03/__random/generate_canonical.h
M libcxx/include/__cxx03/__random/seed_seq.h
R libcxx/include/__cxx03/__random/uniform_random_bit_generator.h
R libcxx/include/__cxx03/__ranges/access.h
R libcxx/include/__cxx03/__ranges/all.h
R libcxx/include/__cxx03/__ranges/as_rvalue_view.h
R libcxx/include/__cxx03/__ranges/chunk_by_view.h
R libcxx/include/__cxx03/__ranges/common_view.h
R libcxx/include/__cxx03/__ranges/concepts.h
R libcxx/include/__cxx03/__ranges/container_compatible_range.h
R libcxx/include/__cxx03/__ranges/counted.h
R libcxx/include/__cxx03/__ranges/dangling.h
R libcxx/include/__cxx03/__ranges/data.h
R libcxx/include/__cxx03/__ranges/drop_view.h
R libcxx/include/__cxx03/__ranges/drop_while_view.h
R libcxx/include/__cxx03/__ranges/elements_view.h
R libcxx/include/__cxx03/__ranges/empty.h
R libcxx/include/__cxx03/__ranges/empty_view.h
R libcxx/include/__cxx03/__ranges/enable_borrowed_range.h
R libcxx/include/__cxx03/__ranges/enable_view.h
R libcxx/include/__cxx03/__ranges/filter_view.h
R libcxx/include/__cxx03/__ranges/from_range.h
R libcxx/include/__cxx03/__ranges/iota_view.h
R libcxx/include/__cxx03/__ranges/istream_view.h
R libcxx/include/__cxx03/__ranges/join_view.h
R libcxx/include/__cxx03/__ranges/lazy_split_view.h
R libcxx/include/__cxx03/__ranges/movable_box.h
R libcxx/include/__cxx03/__ranges/non_propagating_cache.h
R libcxx/include/__cxx03/__ranges/owning_view.h
R libcxx/include/__cxx03/__ranges/range_adaptor.h
R libcxx/include/__cxx03/__ranges/rbegin.h
R libcxx/include/__cxx03/__ranges/ref_view.h
R libcxx/include/__cxx03/__ranges/rend.h
R libcxx/include/__cxx03/__ranges/repeat_view.h
R libcxx/include/__cxx03/__ranges/reverse_view.h
R libcxx/include/__cxx03/__ranges/single_view.h
R libcxx/include/__cxx03/__ranges/size.h
R libcxx/include/__cxx03/__ranges/split_view.h
R libcxx/include/__cxx03/__ranges/subrange.h
R libcxx/include/__cxx03/__ranges/take_view.h
R libcxx/include/__cxx03/__ranges/take_while_view.h
R libcxx/include/__cxx03/__ranges/to.h
R libcxx/include/__cxx03/__ranges/transform_view.h
R libcxx/include/__cxx03/__ranges/view_interface.h
R libcxx/include/__cxx03/__ranges/views.h
R libcxx/include/__cxx03/__ranges/zip_view.h
R libcxx/include/__cxx03/__stop_token/atomic_unique_lock.h
R libcxx/include/__cxx03/__stop_token/intrusive_list_view.h
R libcxx/include/__cxx03/__stop_token/intrusive_shared_ptr.h
R libcxx/include/__cxx03/__stop_token/stop_callback.h
R libcxx/include/__cxx03/__stop_token/stop_source.h
R libcxx/include/__cxx03/__stop_token/stop_state.h
R libcxx/include/__cxx03/__stop_token/stop_token.h
M libcxx/include/__cxx03/__string/char_traits.h
M libcxx/include/__cxx03/__system_error/error_category.h
M libcxx/include/__cxx03/__system_error/error_code.h
M libcxx/include/__cxx03/__system_error/error_condition.h
R libcxx/include/__cxx03/__thread/formatter.h
M libcxx/include/__cxx03/__thread/id.h
R libcxx/include/__cxx03/__thread/jthread.h
M libcxx/include/__cxx03/__thread/thread.h
M libcxx/include/__cxx03/__tree
R libcxx/include/__cxx03/__tuple/ignore.h
R libcxx/include/__cxx03/__type_traits/common_reference.h
R libcxx/include/__cxx03/__type_traits/has_unique_object_representation.h
R libcxx/include/__cxx03/__type_traits/is_aggregate.h
R libcxx/include/__cxx03/__type_traits/is_nothrow_convertible.h
M libcxx/include/__cxx03/__type_traits/result_of.h
R libcxx/include/__cxx03/__utility/as_const.h
R libcxx/include/__cxx03/__utility/cmp.h
M libcxx/include/__cxx03/__utility/exception_guard.h
R libcxx/include/__cxx03/__utility/exchange.h
R libcxx/include/__cxx03/__utility/forward_like.h
R libcxx/include/__cxx03/__utility/in_place.h
M libcxx/include/__cxx03/__utility/pair.h
R libcxx/include/__cxx03/__utility/to_underlying.h
M libcxx/include/__cxx03/algorithm
R libcxx/include/__cxx03/any
M libcxx/include/__cxx03/array
M libcxx/include/__cxx03/atomic
R libcxx/include/__cxx03/barrier
R libcxx/include/__cxx03/bit
M libcxx/include/__cxx03/bitset
R libcxx/include/__cxx03/charconv
M libcxx/include/__cxx03/chrono
M libcxx/include/__cxx03/cmath
M libcxx/include/__cxx03/codecvt
R libcxx/include/__cxx03/compare
R libcxx/include/__cxx03/concepts
M libcxx/include/__cxx03/condition_variable
R libcxx/include/__cxx03/coroutine
M libcxx/include/__cxx03/deque
R libcxx/include/__cxx03/execution
R libcxx/include/__cxx03/expected
R libcxx/include/__cxx03/experimental/__simd/aligned_tag.h
R libcxx/include/__cxx03/experimental/__simd/declaration.h
R libcxx/include/__cxx03/experimental/__simd/reference.h
R libcxx/include/__cxx03/experimental/__simd/scalar.h
R libcxx/include/__cxx03/experimental/__simd/simd.h
R libcxx/include/__cxx03/experimental/__simd/simd_mask.h
R libcxx/include/__cxx03/experimental/__simd/traits.h
R libcxx/include/__cxx03/experimental/__simd/utility.h
R libcxx/include/__cxx03/experimental/__simd/vec_ext.h
R libcxx/include/__cxx03/experimental/iterator
R libcxx/include/__cxx03/experimental/memory
R libcxx/include/__cxx03/experimental/propagate_const
R libcxx/include/__cxx03/experimental/simd
R libcxx/include/__cxx03/experimental/type_traits
M libcxx/include/__cxx03/experimental/utility
M libcxx/include/__cxx03/ext/hash_map
M libcxx/include/__cxx03/ext/hash_set
R libcxx/include/__cxx03/filesystem
R libcxx/include/__cxx03/format
M libcxx/include/__cxx03/forward_list
M libcxx/include/__cxx03/fstream
M libcxx/include/__cxx03/functional
R libcxx/include/__cxx03/initializer_list
M libcxx/include/__cxx03/ios
M libcxx/include/__cxx03/istream
M libcxx/include/__cxx03/iterator
R libcxx/include/__cxx03/latch
M libcxx/include/__cxx03/list
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/map
R libcxx/include/__cxx03/mdspan
M libcxx/include/__cxx03/memory
R libcxx/include/__cxx03/memory_resource
M libcxx/include/__cxx03/mutex
R libcxx/include/__cxx03/numbers
M libcxx/include/__cxx03/numeric
R libcxx/include/__cxx03/optional
M libcxx/include/__cxx03/ostream
R libcxx/include/__cxx03/print
M libcxx/include/__cxx03/queue
M libcxx/include/__cxx03/random
R libcxx/include/__cxx03/ranges
M libcxx/include/__cxx03/regex
R libcxx/include/__cxx03/scoped_allocator
R libcxx/include/__cxx03/semaphore
M libcxx/include/__cxx03/set
R libcxx/include/__cxx03/shared_mutex
R libcxx/include/__cxx03/source_location
R libcxx/include/__cxx03/span
M libcxx/include/__cxx03/stack
R libcxx/include/__cxx03/stop_token
M libcxx/include/__cxx03/string
M libcxx/include/__cxx03/string_view
R libcxx/include/__cxx03/syncstream
M libcxx/include/__cxx03/system_error
M libcxx/include/__cxx03/thread
R libcxx/include/__cxx03/tuple
M libcxx/include/__cxx03/type_traits
M libcxx/include/__cxx03/typeindex
M libcxx/include/__cxx03/unordered_map
M libcxx/include/__cxx03/unordered_set
M libcxx/include/__cxx03/utility
M libcxx/include/__cxx03/valarray
R libcxx/include/__cxx03/variant
M libcxx/include/__cxx03/vector
A libcxx/include/__flat_set/flat_multiset.h
M libcxx/include/__flat_set/flat_set.h
A libcxx/include/__flat_set/utils.h
M libcxx/include/__format/buffer.h
M libcxx/include/__format/container_adaptor.h
M libcxx/include/__format/format_arg.h
M libcxx/include/__format/format_arg_store.h
M libcxx/include/__format/format_args.h
M libcxx/include/__format/format_context.h
M libcxx/include/__format/format_functions.h
M libcxx/include/__format/format_parse_context.h
M libcxx/include/__format/format_string.h
M libcxx/include/__format/format_to_n_result.h
M libcxx/include/__format/formatter.h
M libcxx/include/__format/formatter_bool.h
M libcxx/include/__format/formatter_char.h
M libcxx/include/__format/formatter_floating_point.h
M libcxx/include/__format/formatter_integer.h
M libcxx/include/__format/formatter_integral.h
M libcxx/include/__format/formatter_output.h
M libcxx/include/__format/formatter_pointer.h
M libcxx/include/__format/formatter_string.h
M libcxx/include/__format/formatter_tuple.h
M libcxx/include/__format/parser_std_format_spec.h
M libcxx/include/__format/range_default_formatter.h
M libcxx/include/__format/range_formatter.h
M libcxx/include/__functional/binary_function.h
M libcxx/include/__functional/binary_negate.h
M libcxx/include/__functional/binder1st.h
M libcxx/include/__functional/binder2nd.h
M libcxx/include/__functional/boyer_moore_searcher.h
M libcxx/include/__functional/default_searcher.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/hash.h
M libcxx/include/__functional/mem_fun_ref.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/pointer_to_binary_function.h
M libcxx/include/__functional/pointer_to_unary_function.h
M libcxx/include/__functional/reference_wrapper.h
M libcxx/include/__functional/unary_function.h
M libcxx/include/__functional/unary_negate.h
M libcxx/include/__fwd/array.h
M libcxx/include/__fwd/complex.h
M libcxx/include/__fwd/deque.h
M libcxx/include/__fwd/format.h
M libcxx/include/__fwd/fstream.h
M libcxx/include/__fwd/functional.h
M libcxx/include/__fwd/ios.h
M libcxx/include/__fwd/istream.h
M libcxx/include/__fwd/map.h
M libcxx/include/__fwd/memory.h
M libcxx/include/__fwd/memory_resource.h
M libcxx/include/__fwd/ostream.h
M libcxx/include/__fwd/pair.h
M libcxx/include/__fwd/queue.h
M libcxx/include/__fwd/set.h
M libcxx/include/__fwd/sstream.h
M libcxx/include/__fwd/stack.h
M libcxx/include/__fwd/streambuf.h
M libcxx/include/__fwd/string.h
M libcxx/include/__fwd/string_view.h
M libcxx/include/__fwd/subrange.h
M libcxx/include/__fwd/tuple.h
M libcxx/include/__fwd/variant.h
M libcxx/include/__fwd/vector.h
M libcxx/include/__hash_table
M libcxx/include/__ios/fpos.h
M libcxx/include/__iterator/aliasing_iterator.h
M libcxx/include/__iterator/back_insert_iterator.h
M libcxx/include/__iterator/front_insert_iterator.h
M libcxx/include/__iterator/insert_iterator.h
M libcxx/include/__iterator/istream_iterator.h
M libcxx/include/__iterator/istreambuf_iterator.h
M libcxx/include/__iterator/iterator.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__iterator/move_iterator.h
M libcxx/include/__iterator/move_sentinel.h
M libcxx/include/__iterator/ostream_iterator.h
M libcxx/include/__iterator/ostreambuf_iterator.h
M libcxx/include/__iterator/reverse_iterator.h
M libcxx/include/__iterator/wrap_iter.h
M libcxx/include/__locale
M libcxx/include/__locale_dir/locale_base_api.h
A libcxx/include/__mdspan/aligned_accessor.h
M libcxx/include/__mdspan/mdspan.h
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/allocator_arg_t.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/auto_ptr.h
M libcxx/include/__memory/inout_ptr.h
A libcxx/include/__memory/is_sufficiently_aligned.h
M libcxx/include/__memory/out_ptr.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/raw_storage_iterator.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__memory/uses_allocator.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__mutex/lock_guard.h
M libcxx/include/__mutex/once_flag.h
M libcxx/include/__mutex/unique_lock.h
M libcxx/include/__node_handle
A libcxx/include/__numeric/ranges_iota.h
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__random/bernoulli_distribution.h
M libcxx/include/__random/binomial_distribution.h
M libcxx/include/__random/cauchy_distribution.h
M libcxx/include/__random/chi_squared_distribution.h
M libcxx/include/__random/discard_block_engine.h
M libcxx/include/__random/discrete_distribution.h
M libcxx/include/__random/exponential_distribution.h
M libcxx/include/__random/extreme_value_distribution.h
M libcxx/include/__random/fisher_f_distribution.h
M libcxx/include/__random/gamma_distribution.h
M libcxx/include/__random/geometric_distribution.h
M libcxx/include/__random/independent_bits_engine.h
M libcxx/include/__random/linear_congruential_engine.h
M libcxx/include/__random/lognormal_distribution.h
M libcxx/include/__random/mersenne_twister_engine.h
M libcxx/include/__random/negative_binomial_distribution.h
M libcxx/include/__random/normal_distribution.h
M libcxx/include/__random/piecewise_constant_distribution.h
M libcxx/include/__random/piecewise_linear_distribution.h
M libcxx/include/__random/poisson_distribution.h
M libcxx/include/__random/seed_seq.h
M libcxx/include/__random/shuffle_order_engine.h
M libcxx/include/__random/student_t_distribution.h
M libcxx/include/__random/subtract_with_carry_engine.h
M libcxx/include/__random/uniform_real_distribution.h
M libcxx/include/__random/weibull_distribution.h
M libcxx/include/__ranges/non_propagating_cache.h
M libcxx/include/__ranges/subrange.h
M libcxx/include/__stop_token/atomic_unique_lock.h
M libcxx/include/__string/char_traits.h
M libcxx/include/__system_error/error_code.h
M libcxx/include/__system_error/error_condition.h
M libcxx/include/__thread/formatter.h
M libcxx/include/__thread/id.h
M libcxx/include/__thread/thread.h
M libcxx/include/__tree
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/__tuple/tuple_element.h
M libcxx/include/__tuple/tuple_size.h
M libcxx/include/__type_traits/add_cv_quals.h
M libcxx/include/__type_traits/aligned_storage.h
M libcxx/include/__type_traits/alignment_of.h
M libcxx/include/__type_traits/common_type.h
M libcxx/include/__type_traits/conditional.h
M libcxx/include/__type_traits/decay.h
M libcxx/include/__type_traits/dependent_type.h
M libcxx/include/__type_traits/enable_if.h
M libcxx/include/__type_traits/extent.h
M libcxx/include/__type_traits/has_unique_object_representation.h
M libcxx/include/__type_traits/has_virtual_destructor.h
M libcxx/include/__type_traits/integral_constant.h
M libcxx/include/__type_traits/invoke.h
M libcxx/include/__type_traits/is_abstract.h
M libcxx/include/__type_traits/is_aggregate.h
M libcxx/include/__type_traits/is_arithmetic.h
M libcxx/include/__type_traits/is_array.h
M libcxx/include/__type_traits/is_assignable.h
M libcxx/include/__type_traits/is_base_of.h
M libcxx/include/__type_traits/is_bounded_array.h
M libcxx/include/__type_traits/is_char_like_type.h
M libcxx/include/__type_traits/is_class.h
M libcxx/include/__type_traits/is_compound.h
M libcxx/include/__type_traits/is_const.h
M libcxx/include/__type_traits/is_constructible.h
M libcxx/include/__type_traits/is_convertible.h
M libcxx/include/__type_traits/is_core_convertible.h
M libcxx/include/__type_traits/is_destructible.h
M libcxx/include/__type_traits/is_empty.h
M libcxx/include/__type_traits/is_enum.h
M libcxx/include/__type_traits/is_final.h
M libcxx/include/__type_traits/is_floating_point.h
M libcxx/include/__type_traits/is_function.h
M libcxx/include/__type_traits/is_fundamental.h
M libcxx/include/__type_traits/is_implicit_lifetime.h
M libcxx/include/__type_traits/is_integral.h
M libcxx/include/__type_traits/is_literal_type.h
M libcxx/include/__type_traits/is_member_pointer.h
M libcxx/include/__type_traits/is_nothrow_assignable.h
M libcxx/include/__type_traits/is_nothrow_constructible.h
M libcxx/include/__type_traits/is_nothrow_destructible.h
M libcxx/include/__type_traits/is_null_pointer.h
M libcxx/include/__type_traits/is_object.h
M libcxx/include/__type_traits/is_pod.h
M libcxx/include/__type_traits/is_pointer.h
M libcxx/include/__type_traits/is_polymorphic.h
M libcxx/include/__type_traits/is_reference.h
M libcxx/include/__type_traits/is_reference_wrapper.h
M libcxx/include/__type_traits/is_same.h
M libcxx/include/__type_traits/is_scalar.h
M libcxx/include/__type_traits/is_signed.h
M libcxx/include/__type_traits/is_signed_integer.h
M libcxx/include/__type_traits/is_standard_layout.h
M libcxx/include/__type_traits/is_swappable.h
M libcxx/include/__type_traits/is_trivial.h
M libcxx/include/__type_traits/is_trivially_assignable.h
M libcxx/include/__type_traits/is_trivially_constructible.h
M libcxx/include/__type_traits/is_trivially_copyable.h
M libcxx/include/__type_traits/is_trivially_destructible.h
M libcxx/include/__type_traits/is_unbounded_array.h
M libcxx/include/__type_traits/is_union.h
M libcxx/include/__type_traits/is_unsigned.h
M libcxx/include/__type_traits/is_unsigned_integer.h
M libcxx/include/__type_traits/is_void.h
M libcxx/include/__type_traits/is_volatile.h
M libcxx/include/__type_traits/rank.h
M libcxx/include/__type_traits/reference_constructs_from_temporary.h
M libcxx/include/__type_traits/reference_converts_from_temporary.h
M libcxx/include/__type_traits/remove_all_extents.h
M libcxx/include/__type_traits/remove_const.h
M libcxx/include/__type_traits/remove_extent.h
M libcxx/include/__type_traits/remove_pointer.h
M libcxx/include/__type_traits/remove_volatile.h
M libcxx/include/__type_traits/result_of.h
M libcxx/include/__type_traits/underlying_type.h
M libcxx/include/__utility/convert_to_integral.h
M libcxx/include/__utility/in_place.h
M libcxx/include/__utility/integer_sequence.h
M libcxx/include/__utility/pair.h
M libcxx/include/__utility/piecewise_construct.h
M libcxx/include/__utility/to_underlying.h
M libcxx/include/__variant/monostate.h
M libcxx/include/__vector/vector.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/__vector/vector_bool_formatter.h
M libcxx/include/__verbose_abort
M libcxx/include/algorithm
M libcxx/include/any
M libcxx/include/array
M libcxx/include/barrier
M libcxx/include/bit
M libcxx/include/bitset
M libcxx/include/charconv
M libcxx/include/codecvt
M libcxx/include/compare
M libcxx/include/complex
M libcxx/include/concepts
M libcxx/include/condition_variable
M libcxx/include/coroutine
M libcxx/include/deque
M libcxx/include/execution
M libcxx/include/expected
M libcxx/include/experimental/iterator
M libcxx/include/experimental/memory
M libcxx/include/experimental/propagate_const
M libcxx/include/experimental/simd
M libcxx/include/experimental/type_traits
M libcxx/include/experimental/utility
M libcxx/include/ext/__hash
M libcxx/include/ext/hash_map
M libcxx/include/ext/hash_set
M libcxx/include/filesystem
M libcxx/include/flat_set
M libcxx/include/format
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/initializer_list
M libcxx/include/ios
M libcxx/include/iosfwd
M libcxx/include/istream
M libcxx/include/latch
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/mdspan
M libcxx/include/memory
M libcxx/include/memory_resource
M libcxx/include/module.modulemap
M libcxx/include/mutex
M libcxx/include/numbers
M libcxx/include/numeric
M libcxx/include/optional
M libcxx/include/print
M libcxx/include/queue
M libcxx/include/ranges
M libcxx/include/ratio
M libcxx/include/regex
M libcxx/include/scoped_allocator
M libcxx/include/semaphore
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/source_location
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/stop_token
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/string_view
M libcxx/include/strstream
M libcxx/include/syncstream
M libcxx/include/tuple
M libcxx/include/type_traits
M libcxx/include/typeindex
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/include/version
M libcxx/modules/std/algorithm.inc
M libcxx/modules/std/flat_set.inc
M libcxx/modules/std/mdspan.inc
M libcxx/modules/std/memory.inc
M libcxx/modules/std/numeric.inc
M libcxx/src/filesystem/path_parser.h
M libcxx/src/verbose_abort.cpp
A libcxx/test/benchmarks/locale/num_put.bench.cpp
M libcxx/test/configs/armv7m-picolibc-libc++.cfg.in
M libcxx/test/libcxx/algorithms/cpp17_iterator_concepts.verify.cpp
M libcxx/test/libcxx/clang_tidy.gen.py
A libcxx/test/libcxx/containers/container.adaptors/flat.multiset/assert.sorted_unique.pass.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.multiset/iterator.compile.pass.cpp
A libcxx/test/libcxx/containers/views/mdspan/aligned_accessor/byte_alignment.verify.cpp
A libcxx/test/libcxx/containers/views/mdspan/aligned_accessor/element_type.verify.cpp
A libcxx/test/libcxx/diagnostics/flat_multiset.nodiscard.verify.cpp
M libcxx/test/libcxx/feature_test_macro/ftm_metadata.sh.py
M libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
A libcxx/test/libcxx/feature_test_macro/is_implemented.sh.py
M libcxx/test/libcxx/feature_test_macro/standard_ftms.sh.py
M libcxx/test/libcxx/feature_test_macro/std_dialects.sh.py
M libcxx/test/libcxx/feature_test_macro/version_header.sh.py
M libcxx/test/libcxx/feature_test_macro/version_header_implementation.sh.py
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.py
M libcxx/test/libcxx/input.output/iostreams.base/ios.base/ios.base.cons/dtor.uninitialized.pass.cpp
M libcxx/test/libcxx/memory/allocator_void.trivial.compile.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.capacity/allocation_size.pass.cpp
M libcxx/test/libcxx/system_reserved_names.gen.py
M libcxx/test/libcxx/type_traits/no_specializations.verify.cpp
M libcxx/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/libcxx.control_block_layout.pass.cpp
M libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/no_unique_address.compile.pass.cpp
A libcxx/test/std/algorithms/algorithms.results/out_value_result.pass.cpp
M libcxx/test/std/algorithms/ranges_result_alias_declarations.compile.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/trivially_copyable.verify.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/reverse_iterator.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/helpers.h
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/reverse_iterator.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/helpers.h
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/empty.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/max_size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/assign_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/containers.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct_pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/default.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/dtor_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_container.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.erasure/erase_if.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.erasure/erase_if_exceptions.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator_comparison.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/range_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/reverse_iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/clear.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/emplace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/emplace_hint.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_key.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_key_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/extract.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/replace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_exception.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_free.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_member.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.observers/comp.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/contains.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/contains_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/count.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/count_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/equal_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/equal_range_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/find.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/find_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/lower_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/lower_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/upper_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/upper_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/helpers.h
A libcxx/test/std/containers/container.adaptors/flat.multiset/incomplete_type.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/op_compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/types.compile.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/reverse_iterator.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/helpers.h
A libcxx/test/std/containers/container.adaptors/flat_helpers.h
A libcxx/test/std/containers/views/mdspan/aligned_accessor/access.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.conversion.from.default_accessor.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.conversion.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.default.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/offset.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/operator.conversion.to.default_accessor.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/types.pass.cpp
M libcxx/test/std/depr/depr.c.headers/stddef_h.compile.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/sync.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/any.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/array.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/barrier.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/bit.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/bitset.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/charconv.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/chrono.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cmath.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/compare.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/complex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/concepts.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/coroutine.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstddef.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstdlib.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstring.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/exception.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/execution.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iomanip.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ios.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/istream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iterator.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/limits.version.compile.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/locale.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory_resource.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numbers.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ostream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/print.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/queue.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/random.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ratio.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/regex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/scoped_allocator.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/source_location.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/span.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/sstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stack.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stdatomic.h.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string_view.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/syncstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/typeinfo.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/language.support/support.types/byte.pass.cpp
M libcxx/test/std/language.support/support.types/max_align_t.compile.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/cpo.compile.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
M libcxx/test/std/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/grouping.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/neg_format.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp
M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.iota/ranges.iota.pass.cpp
M libcxx/test/std/ranges/range.req/range.view/view_base.compile.pass.cpp
M libcxx/test/std/strings/basic.string/char.bad.verify.cpp
M libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_append/initializer_list.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_assign/string.pass.cpp
M libcxx/test/std/strings/string.view/char.bad.verify.cpp
M libcxx/test/std/time/time.duration/time.duration.nonmember/ostream.pass.cpp
M libcxx/test/std/time/time.syn/formatter.duration.pass.cpp
M libcxx/test/std/time/time.syn/formatter.file_time.pass.cpp
M libcxx/test/std/time/time.syn/formatter.hh_mm_ss.pass.cpp
M libcxx/test/std/time/time.syn/formatter.local_time.pass.cpp
M libcxx/test/std/time/time.syn/formatter.sys_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtraits/types.compile.pass.cpp
A libcxx/test/std/utilities/memory/ptr.align/is_sufficiently_aligned.pass.cpp
M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp
M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_union.pass.cpp
A libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.deprecated.verify.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.general/ignore.pass.cpp
M libcxx/test/support/nasty_string.h
M libcxx/test/support/test_iterators.h
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/test/tools/clang_tidy_checks/libcpp_module.cpp
A libcxx/test/tools/clang_tidy_checks/robust_against_operator_ampersand.cpp
A libcxx/test/tools/clang_tidy_checks/robust_against_operator_ampersand.hpp
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/modules.py
M libcxx/utils/libcxx/test/params.py
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/test/test_demangle.pass.cpp
M libcxxabi/test/uncaught_exception.pass.cpp
M libunwind/docs/BuildingLibunwind.rst
M lld/COFF/COFFLinkerContext.h
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/DLL.cpp
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Writer.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Options.td
M lld/ELF/Relocations.cpp
M lld/ELF/Writer.cpp
M lld/MachO/Driver.cpp
M lld/MachO/InputFiles.cpp
M lld/MachO/InputFiles.h
M lld/MachO/OutputSegment.cpp
M lld/MinGW/Driver.cpp
M lld/docs/ReleaseNotes.rst
A lld/test/COFF/arm64ec-x86-sec.yaml
A lld/test/COFF/arm64x-map.s
A lld/test/COFF/export-alias.test
A lld/test/COFF/imports-static-lib-indirect.test
A lld/test/COFF/imports-static-lib.test
R lld/test/COFF/undefined_lazy.test
A lld/test/ELF/aarch64-execute-only-mixed.s
M lld/test/ELF/aarch64-execute-only.s
A lld/test/ELF/arm-execute-only-mixed.s
M lld/test/ELF/arm-execute-only.s
A lld/test/ELF/loongarch-relax-tls-ie.s
M lld/test/ELF/loongarch-tls-ie.s
A lld/test/MachO/archive-no-index.ll
A lld/test/MachO/archive-no-index.s
M lld/test/MachO/arm64-objc-stubs.s
R lld/test/MachO/invalid/archive-no-index.s
A lld/test/MachO/tapi-rpath.s
A lldb/docs/dil-expr-lang.ebnf
M lldb/docs/use/python-reference.rst
M lldb/include/lldb/API/SBDebugger.h
M lldb/include/lldb/API/SBModule.h
M lldb/include/lldb/API/SBReproducer.h
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Core/FormatEntity.h
M lldb/include/lldb/Core/Mangled.h
M lldb/include/lldb/Core/RichManglingContext.h
M lldb/include/lldb/Core/Telemetry.h
M lldb/include/lldb/Host/ProcessRunLock.h
M lldb/include/lldb/Initialization/SystemLifetimeManager.h
M lldb/include/lldb/Interpreter/OptionValue.h
M lldb/include/lldb/Symbol/DWARFCallFrameInfo.h
M lldb/include/lldb/Symbol/FuncUnwinders.h
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/Language.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/include/lldb/Utility/LLDBAssert.h
A lldb/include/lldb/ValueObject/DILAST.h
A lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
A lldb/include/lldb/ValueObject/DILParser.h
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
R lldb/scripts/reproducer-replay.py
M lldb/source/API/SBDebugger.cpp
M lldb/source/API/SBModule.cpp
M lldb/source/API/SBProcess.cpp
M lldb/source/API/SBReproducer.cpp
M lldb/source/API/SBTarget.cpp
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/Mangled.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/RichManglingContext.cpp
M lldb/source/Core/Statusline.cpp
M lldb/source/Host/common/ProcessRunLock.cpp
M lldb/source/Host/windows/ProcessRunLock.cpp
M lldb/source/Initialization/SystemLifetimeManager.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/OptionValue.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.cpp
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.h
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.td
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.5
[skip ci]
Compare: https://github.com/llvm/llvm-project/compare/326408514c72...10f10d672182
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