LLVM/project 1839b75llvm/cmake/modules HandleLLVMOptions.cmake

[runtimes] Skip custom linker validation for gpu/offload targets (#189933)

This fixes `Host compiler does not support '-fuse-ld=lld'` error when
cross-build libclc for gpu target. Cmake configure command is:
-DRUNTIMES_amdgcn-amd-amdhsa-llvm_LLVM_ENABLE_RUNTIMES=libclc \
-DLLVM_RUNTIME_TARGETS="amdgcn-amd-amdhsa-llvm"
libclc targets only support offload target cross-build and can't link
host executable. The configuration error is false positive for offload.

This PR adds a baseline test to first check if the target can link
executable. If it fails (typical for gpu/offload), we skip the custom
linker validation.
DeltaFile
+12-6llvm/cmake/modules/HandleLLVMOptions.cmake
+12-61 files

LLVM/project 3564570llvm/lib/Transforms/Vectorize SLPVectorizer.cpp

Fix formatting

Created using spr 1.3.7
DeltaFile
+9-11llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+9-111 files

LLVM/project 96b2a4ellvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll, llvm/test/CodeGen/RISCV/rvv clmulh-sdnode.ll

Rebase

Created using spr 1.3.7
DeltaFile
+161,105-175,310llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+54,366-54,928llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+92,827-0llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+42,349-42,348llvm/test/MC/AMDGPU/gfx8_asm_vop3.s
+41,419-41,418llvm/test/MC/AMDGPU/gfx7_asm_vop3.s
+36,428-36,427llvm/test/MC/AMDGPU/gfx9_asm_vop3.s
+428,494-350,43134,353 files not shown
+4,984,546-3,040,38734,359 files

LLVM/project 58208a0llvm/test/Transforms/LoopVectorize find-last-iv-sinkable-expr-epilogue.ll, llvm/test/Transforms/LoopVectorize/AArch64 epilog-iv-live-outs.ll find-last-iv-sinkable-expr-epilogue.ll

[LV] Additional epilogue tests for find-iv and with uses of IV.(NFC) (#190548)

Additional test coverage for loops not yet supported, with sinkable
find-iv expressions (github.com/llvm/llvm-project/pull/183911) and uses
of the IV.

PR: https://github.com/llvm/llvm-project/pull/190548
DeltaFile
+257-0llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-live-outs.ll
+212-0llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-expr-epilogue.ll
+172-0llvm/test/Transforms/LoopVectorize/AArch64/find-last-iv-sinkable-expr-epilogue.ll
+641-03 files

LLVM/project c109dd1llvm/lib/Transforms/Vectorize VPlanTransforms.cpp VPlanPatternMatch.h

[VPlan] Refactor FindLastSelect matching to use m_Specific(PhiR) (NFC). (#190547)

Match the select operands directly against PhiR using m_Specific,
binding only the non-phi IV expression. This replaces the generic
TrueVal/FalseVal matching followed by an assert and conditional
extraction.

Split off from approved
https://github.com/llvm/llvm-project/pull/183911/ as suggested.
DeltaFile
+17-15llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+5-0llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
+22-152 files

LLVM/project 4bd1facllvm/docs GettingStarted.rst

[llvm][docs] Fix typo (#190150)

This commit corrects a typo in the project documentation.
DeltaFile
+1-1llvm/docs/GettingStarted.rst
+1-11 files

LLVM/project 9ce30c8llvm/lib/ExecutionEngine/Orc/TargetProcess LibraryScanner.cpp

[Orc][LibResolver] Fix GNU/Hurd build (#184470)

GNU/Hurd does not put a PATH_MAX static constraint on path lengths. We can instead check the symlink length.
DeltaFile
+3-5llvm/lib/ExecutionEngine/Orc/TargetProcess/LibraryScanner.cpp
+3-51 files

LLVM/project 11e7a49lldb/include/lldb/Utility VMRange.h, lldb/source/Core Section.cpp

[lldb] Remove VMRange class (NFC) (#190475)

We have a template class `Range` that provides similar functionality and
is much more widely used.
DeltaFile
+0-151lldb/unittests/Utility/VMRangeTest.cpp
+0-104lldb/include/lldb/Utility/VMRange.h
+0-69lldb/source/Utility/VMRange.cpp
+22-1lldb/unittests/Utility/RangeTest.cpp
+3-4lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
+1-4lldb/source/Core/Section.cpp
+26-3334 files not shown
+26-33710 files

LLVM/project f8e394blldb/source/Plugins/ObjectFile/ELF ObjectFileELF.cpp, lldb/unittests/ObjectFile/ELF TestObjectFileELF.cpp

[lldb] Fix section offset of synthesized entry point symbol (#190348)

In the non-ARM case, the offset was left unset, so the symbol
synthesized for the entry point pointed to the start of the containing
section.
As a drive-by change, simplify offset adjustment in ARM case.
DeltaFile
+37-0lldb/unittests/ObjectFile/ELF/TestObjectFileELF.cpp
+3-3lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
+40-32 files

LLVM/project 353ab41lldb/unittests/Host SocketTest.cpp

[lldb] Update error message in SocketTest::CreatePair (#190544)
DeltaFile
+1-1lldb/unittests/Host/SocketTest.cpp
+1-11 files

LLVM/project 61550efmlir/include/mlir/IR OpImplementation.h, mlir/lib/AsmParser Parser.cpp

[MLIR] Add two-phase region parsing API to OpAsmParser
DeltaFile
+109-0mlir/test/mlir-tblgen/op-format.mlir
+35-0mlir/test/lib/Dialect/Test/TestOpsSyntax.td
+34-0mlir/lib/AsmParser/Parser.cpp
+33-0mlir/test/lib/Dialect/Test/TestOpsSyntax.cpp
+23-0mlir/include/mlir/IR/OpImplementation.h
+234-05 files

LLVM/project f866ef2lldb/source/Plugins/Language/CPlusPlus CPlusPlusLanguage.cpp LibCxxVector.cpp, lldb/source/Plugins/ScriptInterpreter/Python ScriptInterpreterPython.cpp

[lldb] Bring more diagnostics in compliance with our coding standards (#190410)

The LLVM Coding Standards [1] specify that:

> [T]o match error message styles commonly produced by other tools,
> start the first sentence with a lowercase letter, and finish the last
> sentence without a period, if it would end in one otherwise.

Historically, that hasn't been something we've enforced in LLDB, but in
the past year or so I've started to pay more attention to this in code
reviews. This PR brings more error messages in compliance, further
increasing consistency.

I also adopted `createStringErrorV` where it improved the code as a
drive-by for lines I was already touching.

[1] https://llvm.org/docs/CodingStandards.html#error-and-warning-messages

Assisted-by: Claude Code
DeltaFile
+26-26lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
+15-15lldb/unittests/Expression/ExpressionTest.cpp
+6-10lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
+6-10lldb/source/Plugins/Language/CPlusPlus/MsvcStlVector.cpp
+7-9lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
+9-4lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
+69-7461 files not shown
+214-23267 files

LLVM/project 36e495dllvm/lib/Transforms/Vectorize VPlanTransforms.cpp

[VPlan] Use APSInt in CheckSentinel directly (NFC). (#190534)

Simplify the sentinel checking logic by using APSInt and checking for
both a signed and unsigned sentinel in a single call.

Removes the IsSigned argument

Split off from approved
https://github.com/llvm/llvm-project/pull/183911/ as suggested.
DeltaFile
+15-18llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+15-181 files

LLVM/project a2c16bbllvm/lib/Transforms/Vectorize VPlanTransforms.cpp

[VPlan] Rename CondSelect to FindLastSelect (NFC). (#190536)

…ns (NFC).

Use the more descriptive name FindLastSelect for the conditional select
that picks between the reduction phi and the IV value.

Split off from approved
https://github.com/llvm/llvm-project/pull/183911/ as suggested.
DeltaFile
+11-10llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+11-101 files

LLVM/project c28eaaellvm/test/CodeGen/AMDGPU integer-mad-patterns.ll fcanonicalize.bf16.ll, llvm/test/CodeGen/RISCV/rvv expandload.ll

Add FIXME

Created using spr 1.3.7
DeltaFile
+3,666-5,073llvm/test/CodeGen/RISCV/rvv/expandload.ll
+1,318-117llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
+835-387llvm/test/CodeGen/AMDGPU/fcanonicalize.bf16.ll
+610-305llvm/test/CodeGen/AMDGPU/atomics-system-scope.ll
+505-259llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
+460-214llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
+7,394-6,355476 files not shown
+18,046-10,472482 files

LLVM/project eaf0135llvm/test/Transforms/SLPVectorizer/X86 multi-use-bitcasted-reduction.ll multi-use-bicasted-reduction.ll

[SLP][NFC]Fix run line for the test, fix test name, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/190537
DeltaFile
+153-0llvm/test/Transforms/SLPVectorizer/X86/multi-use-bitcasted-reduction.ll
+0-149llvm/test/Transforms/SLPVectorizer/X86/multi-use-bicasted-reduction.ll
+153-1492 files

LLVM/project ba28604clang/lib/AST QualTypeNames.cpp, clang/lib/Interpreter InterpreterValuePrinter.cpp

[clang-repl] Use canonical types in QualTypeToString (#190528)

Use the canonical type when generating type strings to ensure sugared
(e.g. `AutoType`, `DecltypeType`) are resolved before calling
getFullyQualifiedType.

This will revert a few commits that were added to fix these assertions.

---------

Co-authored-by: Harald van Dijk <hdijk at accesssoftek.com>
DeltaFile
+0-22clang/lib/AST/QualTypeNames.cpp
+5-6clang/lib/Interpreter/InterpreterValuePrinter.cpp
+4-0clang/test/Interpreter/pretty-print.cpp
+9-283 files

LLVM/project 0b7f01aclang-tools-extra/clang-tidy/bugprone ExceptionEscapeCheck.cpp, clang-tools-extra/clang-tidy/utils ExceptionAnalyzer.cpp

[clang-tidy] Add frames for bugprone-exception-escape options (#187971)

This patch adds frames emitting for
`bugprone-exception-escape.TreatFunctionsWithoutSpecificationAsThrowing`.

As of AI Usage: Gemini 3 is used for pre-commit reviewing.

Closes https://github.com/llvm/llvm-project/issues/184781
DeltaFile
+31-1clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-treat-functions-without-specification-as-throwing.cpp
+13-5clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
+10-5clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
+54-113 files

LLVM/project 9b5c7d1libc/shared rpc.h rpc_util.h

[libc] Allow RPC interface to be compiled with MSVC (#190483)

Summary:
This should be portable to other compilers so it can support Windows
infrastructure.

I don't really use MSVC but godbolt seems happy:
https://godbolt.org/z/Ysdx1Y1rq
DeltaFile
+24-2libc/shared/rpc.h
+5-0libc/shared/rpc_util.h
+29-22 files

LLVM/project 144c324clang/test/Driver offload-arch-translation-amdgpu.cu cuda-arch-translation.cu

clang: Make --cuda-gpu-arch translation test comprehensive for AMDGPU (#190509)
DeltaFile
+141-0clang/test/Driver/offload-arch-translation-amdgpu.cu
+0-51clang/test/Driver/cuda-arch-translation.cu
+141-512 files

LLVM/project 792fce7libcxx/test/std/ranges/range.adaptors/range.filter ctor.view_pred.pass.cpp, libcxx/test/std/ranges/range.adaptors/range.lazy.split ctor.view.pass.cpp

[libc++][ranges][NFC] Format a couple of tests as a prerequisite (#190514)

to https://llvm.org/PR190513 to avoid friction.
DeltaFile
+6-9libcxx/test/std/ranges/range.adaptors/range.lazy.split/ctor.view.pass.cpp
+2-2libcxx/test/std/ranges/range.adaptors/range.filter/ctor.view_pred.pass.cpp
+8-112 files

LLVM/project e14ccabclang/include/clang/CIR/Dialect/Builder CIRBaseBuilder.h, clang/include/clang/CIR/Dialect/IR CIROps.td

[CIR] Use data size in emitAggregateCopy for overlapping copies

Add skip_tail_padding property to cir.copy to handle potentially-overlapping
subobject copies directly, instead of falling back to cir.libc.memcpy. When
set, the lowering uses the record's data size (excluding tail padding) for
the memcpy length. This keeps typed semantics and promotability of cir.copy.

Also fix CXXABILowering to preserve op properties when recreating operations,
and expose RecordType::computeStructDataSize() for computing data size of
padded record types.
DeltaFile
+73-0clang/test/CIR/CodeGen/aggregate-copy-overlap.cpp
+21-5clang/include/clang/CIR/Dialect/IR/CIROps.td
+23-0clang/lib/CIR/Dialect/IR/CIRTypes.cpp
+11-6clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
+11-0clang/test/CIR/IR/invalid-copy.cir
+4-2clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
+143-137 files not shown
+164-2013 files

LLVM/project c5a9049llvm/lib/Transforms/Vectorize LoopVectorizationLegality.cpp

[LV][NFC] remove dead code in canFoldTailByMasking() (#190263)

Remove unused ReductionLiveOuts variable in `canFoldTailByMasking()`.
The set was being populated with reduction loop exit instructions but
was never actually used anywhere in the function.
DeltaFile
+0-5llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
+0-51 files

LLVM/project 6bf8279llvm/lib/Transforms/Vectorize LoopVectorize.cpp

[LV][NFC] correct comment for isScalarEpilogueAllowed() (#190254)

The comment had the opposite meaning of what the function actually does.
DeltaFile
+2-2llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+2-21 files

LLVM/project 6bf0738clang/include/clang/CIR/Dialect/Builder CIRBaseBuilder.h, clang/include/clang/CIR/Dialect/IR CIROps.td

[CIR] Use data size in emitAggregateCopy for overlapping copies

Add skip_tail_padding property to cir.copy to handle potentially-overlapping
subobject copies directly, instead of falling back to cir.libc.memcpy. When
set, the lowering uses the record's data size (excluding tail padding) for
the memcpy length. This keeps typed semantics and promotability of cir.copy.

Also fix CXXABILowering to preserve op properties when recreating operations,
and expose RecordType::computeStructDataSize() for computing data size of
padded record types.
DeltaFile
+73-0clang/test/CIR/CodeGen/aggregate-copy-overlap.cpp
+21-5clang/include/clang/CIR/Dialect/IR/CIROps.td
+23-0clang/lib/CIR/Dialect/IR/CIRTypes.cpp
+11-6clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
+11-0clang/test/CIR/IR/invalid-copy.cir
+4-2clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
+143-138 files not shown
+168-2014 files

LLVM/project 45f1692clang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/CodeGen CIRGenExprAggregate.cpp

[CIR] Use data size in emitAggregateCopy for overlapping copies

Add skip_tail_padding property to cir.copy to handle potentially-overlapping
subobject copies directly, instead of falling back to cir.libc.memcpy. When
set, the lowering uses the record's data size (excluding tail padding) for
the memcpy length. This keeps typed semantics and promotability of cir.copy.

Also fix CXXABILowering to preserve op properties when recreating operations,
and expose RecordType::computeStructDataSize() for computing data size of
padded record types.
DeltaFile
+73-0clang/test/CIR/CodeGen/aggregate-copy-overlap.cpp
+21-5clang/include/clang/CIR/Dialect/IR/CIROps.td
+23-0clang/lib/CIR/Dialect/IR/CIRTypes.cpp
+8-6clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
+11-0clang/test/CIR/IR/invalid-copy.cir
+2-4clang/test/CIR/CodeGen/no-unique-address.cpp
+138-158 files not shown
+165-2014 files

LLVM/project df2de0aclang-tools-extra/clang-tidy/bugprone UseAfterMoveCheck.cpp, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Improve bugprone.use-after-move interaction with explicit destructor call. (#188866)

It is valid (although niche) to call an explicit destructor after moving
the object.
DeltaFile
+30-0clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
+21-3clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
+2-0clang-tools-extra/docs/ReleaseNotes.rst
+1-1clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.rst
+54-44 files

LLVM/project f2505a5clang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/Dialect/IR CIRDialect.cpp

[CIR] Use UnitProp for comdat, constant, dso_local
DeltaFile
+3-3clang/include/clang/CIR/Dialect/IR/CIROps.td
+2-3clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+5-62 files

LLVM/project 199ac48lldb/source/Expression DWARFExpression.cpp, lldb/source/Plugins/SymbolFile/DWARF DWARFASTParserClang.cpp

[lldb] Replace ResolveValue() with GetScalar() in DWARFExpression (NFCI) (#185841)

Value::ResolveValue() only does something if the value has an associated
compiler type, which is never set on values used in DWARF expressions.
Simplify code by inlining the method.
DeltaFile
+26-39lldb/source/Expression/DWARFExpression.cpp
+1-1lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
+1-1lldb/source/Target/StackFrame.cpp
+28-413 files

LLVM/project 7136df7clang/test/Driver offload-arch-translation-amdgpu.cu cuda-arch-translation.cu

clang: Make --cuda-gpu-arch translation test comprehensive for AMDGPU

Split the PTX and AMDGPU handling into separate files and test all of
the amdgpu targets.
DeltaFile
+141-0clang/test/Driver/offload-arch-translation-amdgpu.cu
+0-51clang/test/Driver/cuda-arch-translation.cu
+141-512 files