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/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
+8-6clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
+11-0clang/test/CIR/IR/invalid-copy.cir
+4-2clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
+140-138 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

LLVM/project 1a7d533clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage UnsafeBufferUsage.cpp

fix clang-format issue
DeltaFile
+1-1clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.cpp
+1-11 files

LLVM/project 036f9b1clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel EntityPointerLevelFormat.h, clang/lib/ScalableStaticAnalysisFramework/Analyses SSAFAnalysesCommon.h

remove proxy functions for unit-testing UnsafeBufferUsageExtractor
DeltaFile
+186-155clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
+17-90clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
+18-18clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.h
+1-22clang/lib/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.cpp
+0-10clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevelFormat.h
+3-3clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsage.cpp
+225-2986 files

LLVM/project e3e4b84lld/test/wasm dylink.s, lld/test/wasm/Inputs libsearch-dyn.s

[WebAssembly] Add support for shared tags (#188367)

Mostly following the structure of other Shared* constructs

Fixes: #188120
DeltaFile
+38-0lld/wasm/SymbolTable.cpp
+15-2lld/wasm/Symbols.h
+10-3lld/test/wasm/dylink.s
+4-1lld/test/wasm/Inputs/libsearch-dyn.s
+4-0llvm/lib/Object/WasmObjectFile.cpp
+3-0lld/wasm/InputFiles.cpp
+74-62 files not shown
+78-68 files

LLVM/project 942e108clang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/CodeGen CIRGenModule.cpp

[CIR] Convert global_visibility from attribute to property (#190488)

Replace CIR_VisibilityAttr with
DefaultValuedProp<EnumProp<CIR_VisibilityKind>>
for global_visibility on GlobalOp and FuncOp. This removes the need for
custom
parse/print functions and simplifies callers to use direct enum values
instead
of wrapping/unwrapping VisibilityAttr.
DeltaFile
+4-41clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+8-5clang/include/clang/CIR/Dialect/IR/CIROps.td
+2-3clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+2-2clang/lib/CIR/CodeGen/CIRGenModule.cpp
+1-2clang/lib/CIR/Dialect/Transforms/EHABILowering.cpp
+1-2clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+18-556 files

LLVM/project d08bb68mlir/include/mlir/Reducer Passes.td, mlir/lib/Reducer OptReductionPass.cpp

[mlir][reducer] Add opt-pass-file option to opt-reduction pass (#189353)

Currently, the opt-reduction-pass only supports inputting the
optimization pipeline via the command line, which becomes cumbersome
when the pipeline is long. To address this, this PR introduces the
opt-pass-file option. This allows users to save the pipeline in a file
and provide the filename to parse the pipeline.
DeltaFile
+15-1mlir/lib/Reducer/OptReductionPass.cpp
+4-0mlir/test/mlir-reduce/opt-reduction/dce-test.mlir
+2-0mlir/include/mlir/Reducer/Passes.td
+1-0mlir/test/mlir-reduce/opt-reduction/dce-pipeline
+22-14 files

LLVM/project 66483dfclang/include/clang/AST Expr.h, clang/lib/CodeGen CodeGenModule.cpp

[clang][AST][NFC] Add default value to `Expr::isConstantInitializer()` parameter (#190313)

Almost every caller passes `false` for `ForRef`, or rather, doesn't care
what the value is. Use a default value instead.
DeltaFile
+4-4clang/lib/Sema/SemaDecl.cpp
+3-3clang/lib/Sema/SemaExprObjC.cpp
+2-2clang/include/clang/AST/Expr.h
+1-2clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
+1-2clang/lib/CodeGen/CodeGenModule.cpp
+1-1clang/lib/Sema/SemaExpr.cpp
+12-144 files not shown
+16-1810 files

LLVM/project 156f911clang/lib/AST Type.cpp ItaniumMangle.cpp, clang/test/CXX/drs cwg20xx.cpp

[clang] implement CWG2064: ignore value dependence for decltype

The 'decltype' for a value-dependent (but non-type-dependent) should be known,
so this patch makes them non-opaque instead.

Readds a few test cases from da98651

Fixes #61818
DeltaFile
+29-0clang/test/CodeGenCXX/GH190495.cpp
+11-12clang/test/SemaTemplate/deduction-guide.cpp
+12-10clang/lib/AST/Type.cpp
+15-2clang/test/CXX/drs/cwg20xx.cpp
+14-1clang/test/SemaCXX/decltype.cpp
+11-4clang/lib/AST/ItaniumMangle.cpp
+92-2912 files not shown
+145-4718 files

LLVM/project 73e2e0aclang/lib/AST Type.cpp ItaniumMangle.cpp, clang/test/CXX/drs cwg20xx.cpp

[clang] implement CWG2064: ignore value dependence for decltype

The 'decltype' for a value-dependent (but non-type-dependent) should be known,
so this patch makes them non-opaque instead.

Readds a few test cases from da98651

Fixes #61818
DeltaFile
+29-0clang/test/CodeGenCXX/GH190495.cpp
+11-12clang/test/SemaTemplate/deduction-guide.cpp
+12-10clang/lib/AST/Type.cpp
+15-2clang/test/CXX/drs/cwg20xx.cpp
+14-1clang/test/SemaCXX/decltype.cpp
+11-4clang/lib/AST/ItaniumMangle.cpp
+92-2912 files not shown
+145-4718 files

LLVM/project 257cc5aclang/lib/Sema SemaConcept.cpp, clang/test/SemaCXX cxx2c-fold-exprs.cpp

[Clang] Fix concept cache for normalized fold expressions (#190312)

When both outer and inner pack substitution indexes are present, we
should cache both. Otherwise we will have wrong cached result.

This is a regression fix so no release note.

Fixes https://github.com/llvm/llvm-project/issues/190169
DeltaFile
+14-15clang/lib/Sema/SemaConcept.cpp
+14-0clang/test/SemaCXX/cxx2c-fold-exprs.cpp
+28-152 files

LLVM/project b5967a1clang/lib/AST Type.cpp ItaniumMangle.cpp, clang/test/CXX/drs cwg20xx.cpp

[clang] implement CWG2064: ignore value dependence for decltype

The 'decltype' for a value-dependent (but non-type-dependent) should be known,
so this patch makes them non-opaque instead.

Readds a few test cases from da98651

Fixes #61818
DeltaFile
+29-0clang/test/CodeGenCXX/GH190495.cpp
+11-12clang/test/SemaTemplate/deduction-guide.cpp
+12-10clang/lib/AST/Type.cpp
+15-2clang/test/CXX/drs/cwg20xx.cpp
+11-4clang/lib/AST/ItaniumMangle.cpp
+14-1clang/test/SemaCXX/decltype.cpp
+92-2912 files not shown
+145-4718 files

LLVM/project 00d5f66offload/plugins-nextgen/cuda/dynamic_cuda cuda.cpp

[offload][CUDA] Fix DLWRAP for memory routines (#190500)
DeltaFile
+2-2offload/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
+2-21 files

LLVM/project 17ed1e6clang/docs ReleaseNotes.rst, clang/lib/Sema SemaTemplate.cpp

[clang] diagnose block pointer types as invalid for constant template parameters (#190464)

Fixes a crash by making it ill-formed to have a constant template
parameter with a block pointer type.

Fixes #189247
DeltaFile
+5-0clang/lib/Sema/SemaTemplate.cpp
+4-0clang/test/SemaCXX/blocks.cpp
+1-0clang/docs/ReleaseNotes.rst
+10-03 files

LLVM/project 9659f28clang/lib/AST Type.cpp ASTContext.cpp, clang/test/SemaCXX decltype.cpp

[clang] ignore value dependence for decltype

The 'decltype' for a value-dependent (but non-type-dependent) should be known,
so this patch makes them non-opaque instead.

Fixes #61818
DeltaFile
+11-12clang/test/SemaTemplate/deduction-guide.cpp
+12-10clang/lib/AST/Type.cpp
+4-5clang/lib/AST/ASTContext.cpp
+8-1clang/test/SemaCXX/decltype.cpp
+9-0clang/test/SemaTemplate/concepts.cpp
+4-4clang/test/SemaTemplate/dependent-expr.cpp
+48-329 files not shown
+71-4015 files

LLVM/project 7fd02b3clang/test/SemaCXX source_location.cpp

[clang] NFC: Add test case for #178324 and mark it as fixed (#190490)

Issue #178324 was actually fixed by #187755

We lost the "declaration does not declare anything" warning since the
regression was introduced, but that was because:
1) Since #78436 we treat __builtin_FUNCSIG in a dependent context
effectivelly as if it contained a template parameter.
2) Our decltype implementation treats eexpressions containing template
parameters as if they were completely opaque (but alas this goes against
the spec, which says in [temp.type]p4 this should be looking only at
type dependence).
3) Since the decltype is opaque, we don't know what lookup will find, so
we can't issue the warning because we don't know if we are going to end
up with a type or an expression.

Fixes #178324
DeltaFile
+10-0clang/test/SemaCXX/source_location.cpp
+10-01 files

LLVM/project d400080lldb/source/Plugins/Platform/WebAssembly PlatformWasm.cpp

[lldb] Inherit Host::GetEnvironment() when launching a wasm runtime (#190476)

Some WebAssembly runtimes might use environment variables such as `HOME`
or `XDG_CONFIG_HOME` to store configuration files, additionally some VMs
might allow wasm modules to read environment variables from the host.
Currently, if a runtime is launched using the WebAssembly platform it
doesn't inherit the environment. As a result wasm runtimes and modules
are unable to read from environment variables and might even fail to
launch (if the config file is required). This PR aims to resolve this
issue, I have tested this with the WARDuino runtime and my WIP gdbstub.
DeltaFile
+1-0lldb/source/Plugins/Platform/WebAssembly/PlatformWasm.cpp
+1-01 files

LLVM/project 0996887llvm/test/tools/dsymutil/AArch64 pseudo-probe.test

[dsymutil] Add REQUIRES: host-byteorder-little-endian to pseudo-probe test (#190482)
DeltaFile
+2-1llvm/test/tools/dsymutil/AArch64/pseudo-probe.test
+2-11 files

LLVM/project f959327polly/include/polly ScopBuilder.h, polly/lib/Analysis ScopBuilder.cpp

[Polly][NFC] Convert ScopBuilder::buildUnsignedConditionSets() to isl++ (#190487)
DeltaFile
+28-24polly/lib/Analysis/ScopBuilder.cpp
+2-2polly/include/polly/ScopBuilder.h
+30-262 files

LLVM/project 1a72808clang/test/SemaCXX source_location.cpp

[clang] NFC: Add test case for #178324 and mark it as fixed

Issue #178324 was actually fixed by #187755

We lost the "declaration does not declare anything" warning since
the regression was introduced, but that was because:
1) Since #78436 we treat __builtin_FUNCSIG in a dependent context effectivelly as
   if it contained a template parameter.
2) Our decltype implementation treats eexpressions containing template
   parameters as if they were completely opaque (but alas this goes against
   the spec, which says in [temp.type]p4 this should be looking only
   at type dependence).
3) Since the decltype is opaque, we don't know what lookup will find,
   so we can't issue the warning because we don't know if we are going
   to end up with a type or an expression.

Fixes #178324
DeltaFile
+10-0clang/test/SemaCXX/source_location.cpp
+10-01 files

LLVM/project 2c6dfacclang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/CodeGen CIRGenModule.cpp

[CIR] Convert global_visibility from attribute to property

Replace CIR_VisibilityAttr with DefaultValuedProp<EnumProp<CIR_VisibilityKind>>
for global_visibility on GlobalOp and FuncOp. This removes the need for custom
parse/print functions and simplifies callers to use direct enum values instead
of wrapping/unwrapping VisibilityAttr.
DeltaFile
+4-41clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+8-5clang/include/clang/CIR/Dialect/IR/CIROps.td
+2-3clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+2-2clang/lib/CIR/CodeGen/CIRGenModule.cpp
+1-2clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+1-2clang/lib/CIR/Dialect/Transforms/EHABILowering.cpp
+18-556 files

LLVM/project 8ed6773llvm/lib/CodeGen CodeGenPrepare.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+1-6llvm/lib/CodeGen/CodeGenPrepare.cpp
+1-61 files