LLVM/project 681d7b2llvm/include/llvm/MC MCAsmBaseStreamer.h MCAsmStreamer.h, llvm/lib/MC MCAsmStreamer.cpp MCGNUAsmStreamer.cpp

[MC] Rename MCAsmStreamer to MCGNUAsmStreamer

Also rename MCBaseAsmStreamer to MCAsmStreamer.
DeltaFile
+94-2,554llvm/lib/MC/MCAsmStreamer.cpp
+2,605-0llvm/lib/MC/MCGNUAsmStreamer.cpp
+0-143llvm/lib/MC/MCAsmBaseStreamer.cpp
+0-61llvm/include/llvm/MC/MCAsmBaseStreamer.h
+61-0llvm/include/llvm/MC/MCAsmStreamer.h
+3-3llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
+2,763-2,7611 files not shown
+2,764-2,7627 files

LLVM/project e3a8c1allvm/include/llvm/Analysis ScalarEvolution.h, llvm/lib/Analysis ScalarEvolution.cpp

!fixup more cleanups
DeltaFile
+22-33llvm/lib/Analysis/ScalarEvolution.cpp
+2-6llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
+4-2llvm/include/llvm/Analysis/ScalarEvolution.h
+1-2llvm/lib/Transforms/Scalar/LoopFuse.cpp
+1-1llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
+30-445 files

LLVM/project 11a92a9llvm/include/llvm/MC MCSymbolGOFF.h MCGOFFAttributes.h, llvm/lib/MC GOFFObjectWriter.cpp MCSymbolGOFF.cpp

[SystemZ] Add indirect reference bit XATTR REFERENCE(INDIRECT) for indirect symbol handling support (#183441)

This is the first of three patches aimed to support indirect symbol
handling for the SystemZ backend. This PR introduces a `GOFF:ERAttr` to
represent indirect references, handles indirect symbols within
`setSymbolAttribute()` by setting the indirect reference bit, and also
updates the HLASM streamer to emit `XATTR REFERENCE(INDIRECT)` and
various other combinations.
DeltaFile
+19-9llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
+8-2llvm/include/llvm/MC/MCSymbolGOFF.h
+4-3llvm/lib/MC/GOFFObjectWriter.cpp
+3-1llvm/lib/MC/MCSymbolGOFF.cpp
+1-0llvm/include/llvm/MC/MCGOFFAttributes.h
+35-155 files

LLVM/project f99dfcf

Merge branch 'users/aokblast/elf/fix_error' into users/aokblast/readelf/pxnum_support
DeltaFile
+0-00 files

LLVM/project 1f0ce12llvm/include/llvm/Object ELF.h, llvm/test/tools/llvm-readobj/ELF many-sections.s

fixup! [Object][ELF] Fix section header zero check
DeltaFile
+3-4llvm/include/llvm/Object/ELF.h
+1-1llvm/test/tools/llvm-readobj/ELF/many-sections.s
+4-52 files

LLVM/project 4eab75ellvm/test/Transforms/SLPVectorizer/AMDGPU zext-duplicate-shift.ll

[SLP][NFC] Precommit test for zext reorder with duplicate shifts (#183748)

This is a pre-commit test for
https://github.com/llvm/llvm-project/pull/183627,
DeltaFile
+53-0llvm/test/Transforms/SLPVectorizer/AMDGPU/zext-duplicate-shift.ll
+53-01 files

LLVM/project 53656d1clang/test/DebugInfo/CXX vtable-external.cpp vtable-template-instantiation.cpp

[clang][DebugInfo] Rename _vtable$ to __clang_vtable (#183617)

Discussion is a follow-up from
https://github.com/llvm/llvm-project/issues/182762#issuecomment-3965207289
(where we're discussing how LLDB could make use of this symbol for
vtable detection).

`_vtable$` is not a reserved identifier in C or C++. In order for
debuggers to reliably use this symbol without accidentally reaching into
user-identifiers, this patch renames it such that it is reserved. The
naming follows the style of the recently added `__clang_trap_msg`
debug-info symbol.
DeltaFile
+13-13clang/test/DebugInfo/CXX/vtable-external.cpp
+12-12clang/test/DebugInfo/CXX/vtable-template-instantiation.cpp
+9-9clang/test/DebugInfo/CXX/vtable-inheritance-simple-main.cpp
+9-9clang/test/DebugInfo/CXX/vtable-inheritance-diamond.cpp
+9-9clang/test/DebugInfo/CXX/vtable-inheritance-virtual.cpp
+7-7clang/test/DebugInfo/CXX/vtable-inheritance-multiple.cpp
+59-592 files not shown
+66-668 files

LLVM/project d8956d7llvm/lib/Target/SPIRV SPIRVCommandLine.cpp SPIRVCommandLine.h, llvm/lib/Target/SPIRV/MCTargetDesc SPIRVBaseInfo.h

[SPIRV][NFCI] Use unordered data structures for SPIR-V extensions (#183567)

Review follow-up from https://github.com/llvm/llvm-project/pull/183325
No reason for these data structures to be ordered.

Minor annoyance when trying to use `DenseMap` because of the C++ code
for enums generated by TableGen, but not too bad.

Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
DeltaFile
+160-173llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
+23-0llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h
+7-12llvm/lib/Target/SPIRV/SPIRVCommandLine.h
+4-6llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
+3-5llvm/lib/Target/SPIRV/SPIRVSubtarget.h
+1-1llvm/lib/Target/SPIRV/SPIRVAPI.cpp
+198-1976 files

LLVM/project d118308llvm/include/llvm/Analysis ScalarEvolution.h ScalarEvolutionExpressions.h, llvm/lib/Analysis ScalarEvolution.cpp

[SCEV] Introduce SCEVUse wrapper type (NFC)

Add SCEVUse as a PointerIntPair wrapper around const SCEV * to prepare
for storing additional per-use information.

This commit contains the mechanical changes of adding an intial SCEVUse
wrapper and updating all relevant interfaces to take SCEVUse. Note that
currently the integer part is never set, and all SCEVUses are
considered canonical.
DeltaFile
+280-246llvm/lib/Analysis/ScalarEvolution.cpp
+117-47llvm/include/llvm/Analysis/ScalarEvolution.h
+78-70llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
+36-29llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
+25-26llvm/lib/Transforms/Scalar/NaryReassociate.cpp
+17-18llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+553-43622 files not shown
+656-52328 files

LLVM/project f41133fllvm/include/llvm/Analysis ScalarEvolutionExpressions.h, llvm/lib/Transforms/Scalar LoopFuse.cpp LoopPredication.cpp

!fixup address latest comments, thanks
DeltaFile
+18-20llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
+3-3llvm/lib/Transforms/Scalar/LoopFuse.cpp
+1-4llvm/lib/Transforms/Scalar/LoopPredication.cpp
+1-4llvm/lib/Transforms/Scalar/NaryReassociate.cpp
+1-4llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
+1-2llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
+25-371 files not shown
+26-387 files

LLVM/project ef05d06lldb/source/Plugins/Process/FreeBSD-Kernel-Core ProcessFreeBSDKernelCore.cpp CMakeLists.txt, llvm/docs ReleaseNotes.md

[lldb][Process/FreeBSDKernelCore] Implement DoWriteMemory() (#183553)

Implement `ProcessFreeBSDKernelCore::DoWriteMemory()` to write data on
kernel crash dump or `/dev/mem`. Due to safety reasons (e.g. writing
wrong value on `/dev/mem` can trigger kernel panic), this feature is
only enabled when `plugin.process.freebsd-kernel-core.read-only` is set
to false (true by default).

Since 85a1fe6 (#183237) was reverted as it was prematurely merged, I'm
committing changes again with corrections here.

---------

Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
DeltaFile
+69-2lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
+12-0lldb/source/Plugins/Process/FreeBSD-Kernel-Core/CMakeLists.txt
+8-0lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCoreProperties.td
+6-0lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h
+4-0llvm/docs/ReleaseNotes.md
+99-25 files

LLVM/project bcd8819mlir/lib/Transforms RemoveDeadValues.cpp, mlir/test/Transforms remove-dead-values.mlir

[mlir][transforms] Fix crash in remove-dead-values when function has non-call users (#183655)

`processFuncOp` asserts that all symbol uses of a function are
`CallOpInterface` operations. This is violated when a function is
referenced by a non-call operation such as `spirv.EntryPoint`, which
uses the function symbol for metadata purposes without calling it.

Fix this by replacing the assertion with an early return: if any user of
the function symbol is not a `CallOpInterface`, skip the function
entirely. This is safe because the pass cannot determine the semantics
of arbitrary non-call references, so it should leave such functions
alone.

Fixes #180416
DeltaFile
+21-0mlir/test/Transforms/remove-dead-values.mlir
+14-5mlir/lib/Transforms/RemoveDeadValues.cpp
+35-52 files

LLVM/project 620425amlir/lib/Dialect/Tensor/IR TensorOps.cpp, mlir/test/Dialect/Tensor canonicalize.mlir

[mlir][tensor] Fix crash in tensor.from_elements fold with non-scalar element types (#183659)

The fold for tensor.from_elements attempted to always produce a
DenseElementsAttr by calling DenseElementsAttr::get(type, elements).
However, DenseElementsAttr::get only handles basic scalar element types
(integer, index, float, complex) directly. For other element types such
as vector types, it expects StringAttr (raw bytes) for each element,
which folded constants won't provide — triggering an assertion.

Fix this by guarding the fold: only attempt the DenseElementsAttr fold
when the tensor element type is integer, index, float, or complex.

Fixes #180459
DeltaFile
+15-0mlir/test/Dialect/Tensor/canonicalize.mlir
+7-0mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
+22-02 files

LLVM/project f55b862mlir/lib/Bindings/Python IRCore.cpp IRAttributes.cpp

[mlir][Python] Drop Python <=3.9 compatibility path (#183416)

According to PR #163499, minimum Python version for mlir-py is now 3.10,
we no longer need patches for py<=3.9.

This change aligns with the Python version bump policy discussed
[here](https://discourse.llvm.org/t/rfc-adopt-regularly-scheduled-python-minimum-version-bumps/88841).
DeltaFile
+0-24mlir/lib/Bindings/Python/IRCore.cpp
+0-9mlir/lib/Bindings/Python/IRAttributes.cpp
+0-332 files

LLVM/project 3702733llvm/lib/CodeGen/SelectionDAG TargetLowering.cpp, llvm/test/CodeGen/AArch64 clmul-fixed.ll

[SelectionDAG] Fix CLMULR/CLMULH expansion  (#183537)

For v8i8 on AArch64, `expandCLMUL` picked the zext path (ExtVT=v8i16) since ZERO_EXTEND/SRL were legal, but CLMUL on v8i16 is not, resulting in a bit-by-bit expansion (~42 insns). Prefer the bitreverse path when CLMUL is legal on VT but not ExtVT.

v8i8 CLMULR: 42 → 4 instructions.

Fixes #182780
DeltaFile
+9-82llvm/test/CodeGen/AArch64/clmul-fixed.ll
+6-1llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+15-832 files

LLVM/project 7cc27e2mlir/lib/Dialect/Vector/Transforms VectorUnroll.cpp, mlir/lib/Dialect/XeGPU/Transforms XeGPUBlocking.cpp

[MLIR][Vector] Enhance shape_cast unrolling support in case the target shape is [1, 1, ..1]  (#183436)

This PR fixes a minor issue in shape_cast unrolling: when all target
dimensions are unit-sized, it no longer removes all leading unit
dimensions.
DeltaFile
+18-0mlir/test/Dialect/Vector/vector-unroll-options.mlir
+4-4mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
+4-0mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
+2-1mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
+28-54 files

LLVM/project 9c2a3camlir/lib/Dialect/OpenACC/IR OpenACC.cpp, mlir/test/Dialect/OpenACC ops.mlir

[MLIR] Fix OpenACC parser crash with opaque pointers (#183521)

Fixes #181453
Fixes #181589
DeltaFile
+18-0mlir/test/Dialect/OpenACC/ops.mlir
+11-4mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
+29-42 files

LLVM/project 6bc7e21llvm/test/tools/llvm-readobj/ELF many-segments.test file-headers.test

fixup! [llvm-readobj, ELF] Support reading binary with more than PN_XNUM segments.
DeltaFile
+13-9llvm/test/tools/llvm-readobj/ELF/many-segments.test
+2-0llvm/test/tools/llvm-readobj/ELF/file-headers.test
+15-92 files

LLVM/project a8a6613llvm/lib/Target/AMDGPU GCNSchedStrategy.cpp

[AMDGPU][Scheduler] Fix compilation fail in EXPENSIVE_CHECKS (#183745)

Bug introduced by #182853 (`Remat` is now a pointer).
DeltaFile
+1-1llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
+1-11 files

LLVM/project 7402312llvm/lib/Target/SPIRV SPIRVInstructionSelector.cpp

[NFC][SPIRV] Fix compile warnings (#183725)

Fix compile warnings in SPIR-V 

```
llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp:2882:26: warning: enumerated and non-enumerated type in conditional expression [-Wextra]
 2882 |         return IsFloatTy ? SPIRV::OpGroupNonUniformFMax : IntOp;
      |                ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp: In lambda function:
llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp:2897:26: warning: enumerated and non-enumerated type in conditional expression [-Wextra]
 2897 |         return IsFloatTy ? SPIRV::OpGroupNonUniformFMin : IntOp;
      |                ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
DeltaFile
+4-4llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+4-41 files

LLVM/project 9210d70llvm/lib/CodeGen/MIRParser MIParser.cpp, llvm/test/CodeGen/MIR/Generic expected-unsigned.mir

[MIR] Error on signed integer in getUnsigned (#183171)

Previously we effectively took the absolute value of the APSInt, instead
diagnose the unexpected negative value.

Change-Id: I4efe961e7b29fdf1d5f97df12f8139aac12c9219
DeltaFile
+26-0llvm/test/CodeGen/MIR/Generic/expected-unsigned.mir
+4-1llvm/lib/CodeGen/MIRParser/MIParser.cpp
+30-12 files

LLVM/project bf3ab0dllvm/lib/Target/AMDGPU GCNSchedStrategy.cpp GCNRegPressure.cpp

[AMDGPU][Scheduler] Add `GCNRegPressure`-based methods to `GCNRPTarget` (#182853)

This adds a few methods to `GCNRPTarget` that can estimate/perform RP
savings based on `GCNRegPressure` instead of a single `Register`,
opening the door to model/incorporate more complex savings made up of
multiple registers of potentially different classes. The scheduler's
rematerialization stage now uses this new API.

Although there are no test changes this is not really NFC since register
pressure savings in the rematerialization stage are now computed through
`GCNRegPressure` instead of the stage itself. If anything this makes
them more consistent with the rest of the RP-tracking infrastructure.
DeltaFile
+51-53llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
+27-3llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
+12-14llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
+13-1llvm/lib/Target/AMDGPU/GCNRegPressure.h
+103-714 files

LLVM/project 72a1d86llvm/lib/Target/AMDGPU AMDGPUFeatures.td AMDGPU.td, llvm/lib/Target/AMDGPU/Utils AMDGPUBaseInfo.cpp

[AMDGPU] Use subtarget feature for flat offset bit width instead of arch checks
DeltaFile
+10-0llvm/lib/Target/AMDGPU/AMDGPUFeatures.td
+3-2llvm/lib/Target/AMDGPU/AMDGPU.td
+2-3llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
+3-0llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
+18-54 files

LLVM/project cab10b5llvm/include/llvm/Object ELF.h, llvm/test/tools/llvm-readobj/ELF many-sections.s

fixup! [Object][ELF] Fix section header zero check
DeltaFile
+3-4llvm/include/llvm/Object/ELF.h
+1-1llvm/test/tools/llvm-readobj/ELF/many-sections.s
+4-52 files

LLVM/project 20df251llvm/runtimes CMakeLists.txt

[LLVM][Runtimes] Add 'llvm-gpu-loader' to dependency list (#183601)

Summary:
This is used to run the unit tests in libc / libc++. It must exist in
the build directory's binary path, but without this dependnecy we may
not build it before running the runtimes build. This should ensure that
it's present, and only if we have tests enabled.
DeltaFile
+1-0llvm/runtimes/CMakeLists.txt
+1-01 files

LLVM/project 5df4ea3llvm/lib/Analysis ScalarEvolution.cpp, llvm/lib/Transforms/Scalar LoopStrengthReduce.cpp LoopFuse.cpp

!fixup more cleanups
DeltaFile
+22-33llvm/lib/Analysis/ScalarEvolution.cpp
+2-6llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
+1-2llvm/lib/Transforms/Scalar/LoopFuse.cpp
+25-413 files

LLVM/project dc2ec04llvm/utils/gn/secondary/lldb/include/lldb/Host BUILD.gn

[gn] port 3490d28c8cab
DeltaFile
+0-1llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn
+0-11 files

LLVM/project 8028a8ebolt/docs BinaryAnalysis.md

Apply more suggestions
DeltaFile
+5-5bolt/docs/BinaryAnalysis.md
+5-51 files

LLVM/project 8a0be0bllvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 gfni-xor-fold.ll gfni-xor-fold-avx512.ll

[X86] Fold XOR of two vgf2p8affineqb instructions with same input (#179900)

This patch implements an optimization to fold XOR of two
`vgf2p8affineqb` instructions operating on the same input.
This optimization:
Reduces instruction count from 3 to 2
Eliminates one vgf2p8affineqb instruction 
Added combineXorWithTwoGF2P8AFFINEQB function in X86ISelLowering.cpp
Uses sd_match pattern matching for consistency with existing code
Checks that both operations have single use to avoid code bloat
Verifies both operations use the same input
Handles commutative XOR patterns automatically
DeltaFile
+127-0llvm/test/CodeGen/X86/gfni-xor-fold.ll
+74-0llvm/test/CodeGen/X86/gfni-xor-fold-avx512.ll
+34-0llvm/lib/Target/X86/X86ISelLowering.cpp
+235-03 files

LLVM/project c05f99abolt/docs BinaryAnalysis.md

Apply suggestions from code review

Co-authored-by: Kristof Beyls <kristof.beyls at arm.com>
DeltaFile
+8-8bolt/docs/BinaryAnalysis.md
+8-81 files