LLVM/project 0385a18llvm/lib/CodeGen/SelectionDAG SelectionDAG.cpp, llvm/test/CodeGen/AArch64 frem-power2.ll

DAG: exp opcodes cannotBeOrderedNegativeFP (#167604)

DeltaFile
+3-15llvm/test/CodeGen/AArch64/frem-power2.ll
+11-1llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+14-162 files

LLVM/project 45e4b3dllvm/lib/CodeGen/SelectionDAG LegalizeVectorTypes.cpp

Change comments
DeltaFile
+2-2llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+2-21 files

LLVM/project 43ca08dlibcxx/include __config, libcxx/include/__type_traits aligned_storage.h

[libc++] Simplify the implementation of aligned_storage (#162459)

DeltaFile
+13-40libcxx/include/__type_traits/aligned_storage.h
+2-2libcxx/include/__config
+15-422 files

LLVM/project e7bccc7flang/include/flang/Evaluate check-expression.h, flang/lib/Evaluate check-expression.cpp

[flang] Fixed regression in copy-in/copy-out (#161259)

Fixed the polymprphic check for copy-in/copy-out, added regression
tests.

Changed MayNeedCopy() to return std::optional<bool> and renamed it to
ActualArgNeedsCopy(). This function now returns true/false when it's
known that actual arguments needs copy in/out, or std::nullopt to
signify that it's now known, whether copy in/out is needed.

Fixes #159149
DeltaFile
+37-52flang/lib/Evaluate/check-expression.cpp
+58-0flang/test/Lower/force-temp.f90
+8-4flang/lib/Lower/ConvertCall.cpp
+5-3flang/lib/Semantics/check-call.cpp
+2-2flang/include/flang/Evaluate/check-expression.h
+110-615 files

LLVM/project 242a6cblibc/cmake/modules LLVMLibCArchitectures.cmake

[libc] Handle the `unknown` default target in CMake (#115122)

When the backend for the host target isn't enabled, Clang would report
the default target as `unknown`. This currently breaks the libc CMake
build, but shouldn't in the case where we're cross-compiling since we're
given an explicit target and the default one isn't being used.
DeltaFile
+31-34libc/cmake/modules/LLVMLibCArchitectures.cmake
+31-341 files

LLVM/project 28dbbbautils/bazel/llvm-project-overlay/lldb BUILD.bazel

[bazel] Fix LLDB :Host Build (#167711)

On some systems (probably those with a more recent clang), building
:Host errors out with a layering check violation due to the histedit.h
system include. Opt it out of layering checks for now, similar to other
targets that depend on non standard library system includes.
DeltaFile
+1-0utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
+1-01 files

LLVM/project 0a34d37mlir/lib/Dialect/MemRef/Transforms ExpandStridedMetadata.cpp, mlir/test/Dialect/MemRef expand-strided-metadata.mlir

[mlir][memref] Remove invalid `extract_aligned_pointer_as_index` folding in `ExpandStridedMetadata` (#167615)

`RewriteExtractAlignedPointerAsIndexOfViewLikeOp` tries to propagate
`extract_aligned_pointer_as_index` through the view ops.

`ViewLikeOpInterface` by itself doesn't guarantee to preserve the base
pointer and `memref.view` is one such example, so limit pattern to a few
specific ops.
DeltaFile
+17-0mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
+5-1mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
+22-12 files

LLVM/project 934b74fllvm/lib/Target/X86 X86.h

clang-format

Created using spr 1.3.7
DeltaFile
+2-1llvm/lib/Target/X86/X86.h
+2-11 files

LLVM/project 029a023llvm/lib/CodeGen TargetLoweringBase.cpp

TargetLowering: Avoid hardcoding OpenBSD + __guard_local name

Query RuntimeLibcalls for the support and the name. The check
that the implementation is exactly __guard_local instead of
unsupported feels a bit strange.
DeltaFile
+12-10llvm/lib/CodeGen/TargetLoweringBase.cpp
+12-101 files

LLVM/project bcc9a7dllvm/test/CodeGen/X86 vector-interleaved-load-i8-stride-7.ll vector-interleaved-load-i8-stride-8.ll

DAG: Use poison when widening build_vector
DeltaFile
+534-549llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
+499-506llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-8.ll
+424-424llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
+341-341llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
+303-303llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
+237-237llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
+2,338-2,36027 files not shown
+3,853-3,96333 files

LLVM/project 1111ad4llvm/test/CodeGen/X86 vector-interleaved-load-i16-stride-5.ll vector-interleaved-load-i32-stride-6.ll

regression
DeltaFile
+250-234llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
+214-206llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
+64-62llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
+13-12llvm/test/CodeGen/X86/vector-fshl-sub128.ll
+11-8llvm/test/CodeGen/X86/urem-seteq-illegal-types.ll
+4-3llvm/test/CodeGen/X86/vector-shift-shl-sub128.ll
+556-5256 files

LLVM/project d7532c2llvm/lib/CodeGen/SelectionDAG SelectionDAG.cpp, llvm/test/CodeGen/AArch64 frem-power2.ll

DAG: exp opcodes cannotBeOrderedNegativeFP
DeltaFile
+3-15llvm/test/CodeGen/AArch64/frem-power2.ll
+11-1llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+14-162 files

LLVM/project 87da620lldb/source/Plugins/ExpressionParser/Clang ClangExpressionParser.cpp

[lldb][ClangExpressionParser] Clean up ownership of members in ClangDiagnosticManagerAdapter (#167731)

This aligns `ClangDiagnosticManagerAdapter` with how we set up the
diagnostics in `ClangModulesDeclVendor`. We fixed lifetime issues around
the same kind of setup here:
https://github.com/llvm/llvm-project/pull/167724

This class didn't suffer from the same lifetime issue because it used
`shared_ptr`s. So the stream wasn't freed before
`~TextDiagnosticPrinter` accessing it. But that begged the question of
why these are `shared_ptr`s in the first place. This patch makes these
`unique_ptr`s and fixes the destruction order that would now be an
issue.
DeltaFile
+5-5lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
+5-51 files

LLVM/project 280d0dflldb/test/API/lang/objc/foundation TestFoundationDisassembly.py

[lldb] Remove test that disassembles all of Foundation (#167596)

This test attempts to disassemble every Code symbol in Foundation.
There's no need to disassemble every code symbol and this certainly does
not scale. In some cases, this test can take multiple minutes to run or
even time out.
DeltaFile
+0-46lldb/test/API/lang/objc/foundation/TestFoundationDisassembly.py
+0-461 files

LLVM/project 7f4a3a9mlir/include/mlir/Dialect/XeGPU/TransformOps XeGPUTransformOps.td, mlir/lib/Dialect/XeGPU/TransformOps XeGPUTransformOps.cpp

[MLIR][XeGPU][TransformOps] Add convert_layout op (#167342)

Adds `transform.xegpu.convert_layout` transform op that inserts an
`xegpu.convert_layout` op for a given `Value`.
DeltaFile
+146-1mlir/python/mlir/dialects/transform/xegpu.py
+104-0mlir/lib/Dialect/XeGPU/TransformOps/XeGPUTransformOps.cpp
+86-0mlir/include/mlir/Dialect/XeGPU/TransformOps/XeGPUTransformOps.td
+69-0mlir/test/Dialect/XeGPU/transform-ops.mlir
+59-5mlir/test/python/dialects/transform_xegpu_ext.py
+464-65 files

LLVM/project f8a042dllvm/lib/Transforms/Scalar PartiallyInlineLibCalls.cpp, llvm/test/Transforms/PartiallyInlineLibCalls/X86 good-prototype.ll

[PILC][profcheck] Bias branch weights when optimizing sqrt
DeltaFile
+13-1llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp
+9-4llvm/test/Transforms/PartiallyInlineLibCalls/X86/good-prototype.ll
+22-52 files

LLVM/project 11ce8a2llvm/lib/Target/X86 X86DynAllocaExpander.cpp X86.h

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+33-9llvm/lib/Target/X86/X86DynAllocaExpander.cpp
+8-2llvm/lib/Target/X86/X86.h
+2-2llvm/lib/Target/X86/X86TargetMachine.cpp
+1-1llvm/lib/Target/X86/X86PassRegistry.def
+44-144 files

LLVM/project ec4207blldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime AppleObjCRuntimeV2.cpp

[lldb] Adapt shared cache ObjC class metadata extraction for long term growth (#167579)

On Apple's platforms, the size of the shared cache grows steadily. As it
grows, so does its list of ObjC classes. LLDB currently accepts an upper
limit to the number of classes when it extracts the class information.
Every few years we will hit the limit and increase the upper limit of
classes.

This approach is fundamentally unsustainable. On top of needing to
manually adjust the number every few years, our current method requires
us to allocate memory in the inferior process. On macOS this is usually
not a problem, but on embedded devices there is usually a limit to how
much memory a process can allocate before they are killed by the OS.

My solution involves running the metadata extraction logic multiple
times. I've added a new parameter to our utility function `start_idx`
that keeps track of where it stopped during the previous run so that it
may pick up again where it stopped.

rdar://91398396
DeltaFile
+163-111lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
+163-1111 files

LLVM/project 5665796llvm/test/Transforms/PartiallyInlineLibCalls/X86 good-prototype.ll

[PILC] Run UTC on `good-prototype.ll`
DeltaFile
+21-3llvm/test/Transforms/PartiallyInlineLibCalls/X86/good-prototype.ll
+21-31 files

LLVM/project 201a461llvm/test/CodeGen/AArch64 frem-power2.ll

AArch64: Add baseline test for treating exp as known positive (#167603)

DeltaFile
+92-0llvm/test/CodeGen/AArch64/frem-power2.ll
+92-01 files

LLVM/project 4d772dellvm/lib/Target/X86 X86.h

[X86] Remove Redundant Default Destructor
DeltaFile
+0-1llvm/lib/Target/X86/X86.h
+0-11 files

LLVM/project a5a78d0mlir/include/mlir-c/Dialect Linalg.h, mlir/lib/Bindings/Python DialectLinalg.cpp

[mlir][linalg][python] Add Python Bindings for Inferring Contraction Dimensions from Affine Maps (#167587)

This PR exposes `linalg::inferContractionDims(ArrayRef<AffineMap>)` to
Python, allowing users to infer contraction dimensions (batch/m/n/k)
directly from a list of affine maps without needing an operation.

---------

Signed-off-by: Bangtian Liu <liubangtian at gmail.com>
DeltaFile
+40-0mlir/test/python/dialects/linalg/utils.py
+35-3mlir/lib/CAPI/Dialect/Linalg.cpp
+22-0mlir/lib/Bindings/Python/DialectLinalg.cpp
+5-0mlir/include/mlir-c/Dialect/Linalg.h
+102-34 files

LLVM/project a22834aclang/lib/CIR/CodeGen CIRGenExprCXX.cpp CIRGenExpr.cpp, clang/test/CIR/CodeGen ctor-null-init.cpp

[CIR] Handle null base class initialization (#167023)

This adds handling for null base class initialization, but only for the
trivial case where the class is empty. This also moves
emitCXXConstructExpr to CIRGenExprCXX.cpp for consistency with classic
codegen and the incubator repo.
DeltaFile
+83-0clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
+0-73clang/lib/CIR/CodeGen/CIRGenExpr.cpp
+31-0clang/test/CIR/CodeGen/ctor-null-init.cpp
+19-6clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
+133-794 files

LLVM/project 24be0ballvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp, llvm/test/CodeGen/AMDGPU nofpclass-call.ll

DAG: Fix assert on nofpclass call with aggregate return (#167725)

DeltaFile
+147-0llvm/test/CodeGen/AMDGPU/nofpclass-call.ll
+16-2llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+163-22 files

LLVM/project 58ac95dllvm/lib/Target/AMDGPU GCNSchedStrategy.cpp GCNSchedStrategy.h, llvm/test/CodeGen/AMDGPU schedule-regpressure-no-unclustered-regions.mir

[AMDGPU] Avoid changing minOccupancy if unclustered schedule was not run for any region. (#162025)

During init of unclustered schedule stage, minOccupancy may be
temporarily increased. But subsequently, if none of the regions are
scheduled because they don't meet the conditions of initGCNRegion,
minOccupancy remains incorrectly set. This patch avoids this
incorrectness by delaying the change of minOccupancy until a region is
about to be scheduled.
DeltaFile
+56-0llvm/test/CodeGen/AMDGPU/schedule-regpressure-no-unclustered-regions.mir
+30-7llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
+4-0llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
+90-73 files

LLVM/project b3d6437clang/lib/Analysis/LifetimeSafety Origins.cpp, clang/test/Sema warn-lifetime-safety.cpp

lifetime-safety-paren
DeltaFile
+31-0clang/test/Sema/warn-lifetime-safety.cpp
+17-0clang/unittests/Analysis/LifetimeSafetyTest.cpp
+2-0clang/lib/Analysis/LifetimeSafety/Origins.cpp
+50-03 files

LLVM/project 830f690llvm/docs LangRef.rst

[Docs] Fix typo in vp.load.ff intrinsic documentation. NFC (#167721)

DeltaFile
+1-1llvm/docs/LangRef.rst
+1-11 files

LLVM/project b9eb974lldb/source/Plugins/ExpressionParser/Clang ClangModulesDeclVendor.cpp

[lldb][ClangModulesDeclVendor] Fix use-after-free of diagnostics stream (#167724)

This got exposed by `09262656f32ab3f2e1d82e5342ba37eecac52522`.

The underlying stream of `m_os` is referenced by the `TextDiagnostic`
member of `TextDiagnosticPrinter`. It got turned into a
`llvm::formatted_raw_ostream` in the commit above. When
`~TextDiagnosticPrinter` (and thus `~TextDiagnostic`) is invoked, we now
call `~formatted_raw_ostream`, which tries to access the underlying
stream. But `m_os` was already deleted because it is earlier in the
order of destruction in `TextDiagnosticPrinter`. Move the `m_os` member
before the `TextDiagnosticPrinter` to avoid a use-after-free.

Drive-by:
* Also move the `m_output` member which the `m_os` holds a reference to.
The fact it's a reference indicates the expectation is most likely that
the string outlives the stream.

The ASAN macOS bot is currently failing with this:

    [39 lines not shown]
DeltaFile
+4-4lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
+4-41 files

LLVM/project dba8507clang/include/clang/AST Attr.h, clang/include/clang/Basic AttrDocs.td Attr.td

[HLSL] Rework semantic handling as attributes (#166796)

Previously, we had 2 level of attributes:
 - HLSLUnparsedSemantic
 - N attributes, one for each known system semantic.

The first was assigned during parsing, and carried no other meaning than
"there is a semantic token". It was then converted to one of the N
attributes later during Sema.
Those attributes also carried informations like "is indexable" or "is
index explicit".

This had a few issues:
- there was no difference between a semantic attribute applied to a
decl, and the effective semantic in the entrypoint use context.
 - having the indexable bit was not useful.
 - semantic constraints checks were split between .td files and sema.

Also, existing implementation had effective attributes attached to the

    [26 lines not shown]
DeltaFile
+80-83clang/lib/Sema/SemaHLSL.cpp
+47-45clang/lib/CodeGen/CGHLSLRuntime.cpp
+0-61clang/include/clang/Basic/AttrDocs.td
+26-25clang/test/SemaHLSL/Semantics/semantics-valid.hlsl
+19-31clang/include/clang/Basic/Attr.td
+7-32clang/include/clang/AST/Attr.h
+179-27714 files not shown
+278-36620 files

LLVM/project 9ba738allvm/lib/Transforms/Vectorize VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize/X86 narrow-to-single-scalar.ll

[VPlan] Fix assert in store-user in narrowToSingleScalars (#167686)

Follow up on c2d4c7c18b96 ([VPlan] Permit more users in
narrowToSingleScalars) to fix an assert related to WidenStore users of
the recipe being narrowed in narrowToSingleScalars.
DeltaFile
+53-0llvm/test/Transforms/LoopVectorize/X86/narrow-to-single-scalar.ll
+5-5llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+58-52 files