LLVM/project 0c0c1a7llvm/lib/Target/X86 X86DynAllocaExpander.cpp X86.h

[X86][NewPM] Port DynAllocaExpander to New PM

No tests modified as there are none that explicitly stop at
DynAllocaExpander, and we do not have enough of a pipeline to run those
yet anyways.

Reviewers: phoebewang, RKSimon, paperchalice, arsenm

Reviewed By: arsenm

Pull Request: https://github.com/llvm/llvm-project/pull/167740
DeltaFile
+33-9llvm/lib/Target/X86/X86DynAllocaExpander.cpp
+9-2llvm/lib/Target/X86/X86.h
+2-2llvm/lib/Target/X86/X86TargetMachine.cpp
+1-1llvm/lib/Target/X86/X86PassRegistry.def
+45-144 files

LLVM/project cc54ee8clang/lib/Sema SemaHLSL.cpp

[clang][HLSL] Fix crash issue due to Twine usage

- Dangling pointer (from std::string) is created and trigger crash on
  some Linux distributions under different build types.
DeltaFile
+1-2clang/lib/Sema/SemaHLSL.cpp
+1-21 files

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 3653a95llvm/lib/CodeGen/SelectionDAG LegalizeVectorTypes.cpp

DAG: Use poison when legalizing scalar_to_vector results
DeltaFile
+1-1llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+1-11 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