LLVM/project 4a54617llvm/lib/Transforms/Scalar LoopInterchange.cpp, llvm/test/Transforms/LoopInterchange non-lcssa-phi-in-inner-exit.ll

[LoopInterchange] Detect unsupported PHIs in inner loop exit block correctly (#194323)

In the legality check phase, `areInnerLoopExitPHIsSupported` inspects
the PHI nodes in the exit block of the inner loop and bail out if
certain unsupported PHI node is found. This functions had several
issues:

- Conflating with the inner loop and the outer loop
- Unnecessarily conservative when LCSSA-chains exist, which will be
handled by `simplifyLCSSA` function

This patch fixes the above issues to detect unsupported PHIs correctly.

Fix #193746
DeltaFile
+53-0llvm/test/Transforms/LoopInterchange/non-lcssa-phi-in-inner-exit.ll
+20-9llvm/lib/Transforms/Scalar/LoopInterchange.cpp
+73-92 files

LLVM/project ae734fdllvm/runtimes CMakeLists.txt

Revert "[cmake][runtimes] Pass variable type for passthrough CMake options (#…"

This reverts commit 2e06e008a7b44fab5c0d7fbc4331c696b5e19b06.
DeltaFile
+0-8llvm/runtimes/CMakeLists.txt
+0-81 files

LLVM/project 2e006e9libc/include unistd.yaml

[libc] Change POSIX to posix in unistd.yaml (#198745)

1. In `header.py`, the canonical identifiers for standards are
explicitly defined in lowercase and mapped to their uppercase/pretty
names for display:

```python
    # All the canonical identifiers are in lowercase for easy maintenance.
    # This maps them to the pretty descriptions to generate in header comments.
    LIBRARY_DESCRIPTIONS = {
        "stdc": "Standard C",
        "posix": "POSIX",
        "bsd": "BSD",
        "gnu": "GNU",
        "linux": "Linux",
        "uefi": "UEFI",
        "svid": "SVID",
    }
```  

    [7 lines not shown]
DeltaFile
+48-48libc/include/unistd.yaml
+48-481 files

LLVM/project 246466fflang/test/Driver intrinsic-module-path.f90

Remove stray underscore
DeltaFile
+1-1flang/test/Driver/intrinsic-module-path.f90
+1-11 files

LLVM/project b2e5b74lldb/source/Target Process.cpp, lldb/test/API/functionalities/breakpoint/breakpoint_while_running TestBreakpointWhileRunning.py main.c

[lldb] Fix delayed breakpoints on running processes

Breakpoints should never be delayed on a running process, as they can
immediately affect program execution.
DeltaFile
+26-0lldb/test/API/functionalities/breakpoint/breakpoint_while_running/TestBreakpointWhileRunning.py
+8-0lldb/test/API/functionalities/breakpoint/breakpoint_while_running/main.c
+3-0lldb/test/API/functionalities/breakpoint/breakpoint_while_running/Makefile
+3-0lldb/source/Target/Process.cpp
+40-04 files

LLVM/project 62ce831mlir/test/Transforms mem2reg.mlir, mlir/test/lib/Dialect/Test TestOpDefs.cpp TestOps.td

add more tests
DeltaFile
+140-0mlir/test/Transforms/mem2reg.mlir
+28-0mlir/test/lib/Dialect/Test/TestOpDefs.cpp
+23-0mlir/test/lib/Dialect/Test/TestOps.td
+191-03 files

LLVM/project 3b60d8cflang/test/Driver intrinsic-module-path.f90

Apply suggeston by @tarunprabhu

Co-authored-by: Tarun Prabhu <tarun at lanl.gov>
DeltaFile
+1-1flang/test/Driver/intrinsic-module-path.f90
+1-11 files

LLVM/project 7a6e6dcclang/lib/AST Decl.cpp, clang/test/AST ast-dump-linkage-internal.cpp

Revert "[clang] Give unnamed namespaces internal linkage" (#198738)

This was causing assertion failures:

Assertion `D->getCachedLinkage() == LV.getLinkage()' failed.

see discussion on the original PR.

Reverts llvm/llvm-project#198215
DeltaFile
+30-35clang/lib/AST/Decl.cpp
+3-9clang/test/AST/ast-dump-linkage-internal.cpp
+33-442 files

LLVM/project 27dfeeamlir/lib/Conversion/SPIRVToLLVM SPIRVToLLVM.cpp, mlir/test/Conversion/SPIRVToLLVM gl-ops-to-llvm.mlir

[mlir][SPIRVToLLVM] Add missing conversions for GL ops (#198722)

Add direct LLVM intrinsic lowerings for spirv.GL.Pow, spirv.GL.Fma,
spirv.GL.UMax, spirv.GL.UMin, and spirv.GL.SAbs
DeltaFile
+65-0mlir/test/Conversion/SPIRVToLLVM/gl-ops-to-llvm.mlir
+25-1mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
+90-12 files

LLVM/project d56af3ellvm/lib/CodeGen/SelectionDAG SelectionDAG.cpp, llvm/test/CodeGen/X86 known-never-zero.ll

[DAG] isKnownNeverZero - add computeKnownBits fallback DemandedElts handling and tests (#198691)

Add DemandedElts to fallback cases in isKnownNeverZero
Fixes #183041 

Tests:
AND and XOR as fallback cases, can see the improvement after code updated.
DeltaFile
+146-0llvm/test/CodeGen/X86/known-never-zero.ll
+1-1llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+147-12 files

LLVM/project c212d64lldb/include/lldb/Target Process.h, lldb/source/Target Process.cpp

[lldb][NFC] Sink eager breakpoint logic into ExecuteBreakpointSiteAction

A future patch will want to control whether all breakpoints are eager or
not based on whether the process is running. Sinking the logic allows
for a smaller diff.
DeltaFile
+11-13lldb/source/Target/Process.cpp
+2-1lldb/include/lldb/Target/Process.h
+13-142 files

LLVM/project 0906d86llvm/runtimes CMakeLists.txt

Revert "[cmake][runtimes] Pass variable type for passthrough CMake options (#…"

This reverts commit 2e06e008a7b44fab5c0d7fbc4331c696b5e19b06.
DeltaFile
+0-8llvm/runtimes/CMakeLists.txt
+0-81 files

LLVM/project 2e3671eclang/lib/AST Decl.cpp, clang/test/AST ast-dump-linkage-internal.cpp

Revert "[clang] Give unnamed namespaces internal linkage (#198215)"

This reverts commit 7ae1a3fad8f06625d4e55b846a090ce9206c3c82.
DeltaFile
+30-35clang/lib/AST/Decl.cpp
+3-9clang/test/AST/ast-dump-linkage-internal.cpp
+33-442 files

LLVM/project 24b74ddlldb/test/API/functionalities/duplicate-archive-members TestDuplicateMembers.py Makefile, lldb/test/API/macosx/duplicate-archive-members TestDuplicateMembers.py Makefile

[lldb] Move TestDuplicateMembers.py (#198532)

`TestDuplicateMembers.py` is not macosx specific and does not run on
Windows because the `ar` utility which does not exist on Windows.

This patch moves the test to the `test/API/functionalities` directory.
DeltaFile
+56-0lldb/test/API/functionalities/duplicate-archive-members/TestDuplicateMembers.py
+0-55lldb/test/API/macosx/duplicate-archive-members/TestDuplicateMembers.py
+20-0lldb/test/API/functionalities/duplicate-archive-members/Makefile
+0-20lldb/test/API/macosx/duplicate-archive-members/Makefile
+0-9lldb/test/API/macosx/duplicate-archive-members/main.c
+8-0lldb/test/API/functionalities/duplicate-archive-members/main.c
+84-844 files not shown
+96-9610 files

LLVM/project 5004a04mlir/docs PrivateNameObfuscation.md, mlir/include/mlir/TableGen PrivateName.h

strip op and pass names
DeltaFile
+175-0mlir/test/mlir-tblgen/private-name-obfuscation.td
+170-0mlir/docs/PrivateNameObfuscation.md
+140-0mlir/tools/mlir-tblgen/PrivateName.cpp
+74-0mlir/test/mlir-tblgen/private-pass-obfuscation.td
+59-0mlir/include/mlir/TableGen/PrivateName.h
+39-8mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
+657-817 files not shown
+810-3623 files

LLVM/project f03b4c8clang/test/CodeGenOpenCL builtins-amdgcn-gfx12.cl builtins-amdgcn-gfx1250.cl

Fix tests
DeltaFile
+8-8clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
+2-2clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
+10-102 files

LLVM/project 75ba84dflang/lib/Optimizer/Transforms SimplifyIntrinsics.cpp, flang/test/Transforms simplifyintrinsics-maxloc-loc.fir

[flang] Propagate call-site location into `SimplifyIntrinsics` `minmaxloc` body

`genRuntimeMinMaxlocBody` used a hard-coded `UnknownLoc` for all generated
ops, including the `fir.do_loop`. After `FIRToSCF` converts it to `scf.for`.
Fix by threading the `maxloc` call-site location through the `bodyGenerator`
lambda into `genRuntimeMinMaxlocBody`.

Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
DeltaFile
+39-0flang/test/Transforms/simplifyintrinsics-maxloc-loc.fir
+5-5flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
+44-52 files

LLVM/project 7db18efmlir/lib/Dialect/SPIRV/IR SPIRVCanonicalization.cpp, mlir/test/Dialect/SPIRV/Transforms canonicalize.mlir

[mlir][SPIR-V] Fold IAddCarry/[SU]MulExtended constants into spirv.Constant struct (#198633)

Emit a single spirv.Constant of struct type instead of the spirv.Undef +
two spirv.CompositeInsert workaround
DeltaFile
+15-52mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir
+4-34mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
+19-862 files

LLVM/project d0b359amlir/include/mlir/Dialect/SPIRV/IR SPIRVLogicalOps.td SPIRVBase.td, mlir/test/Dialect/SPIRV/IR logical-ops.mlir

[mlir][SPIR-V] Add OpIsNormal op (#198593)
DeltaFile
+22-0mlir/include/mlir/Dialect/SPIRV/IR/SPIRVLogicalOps.td
+18-0mlir/test/Dialect/SPIRV/IR/logical-ops.mlir
+2-1mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
+2-0mlir/test/Target/SPIRV/logical-ops.mlir
+44-14 files

LLVM/project ca67621mlir/docs PrivateNameObfuscation.md, mlir/include/mlir/TableGen PrivateName.h

strip op and pass names
DeltaFile
+184-0mlir/docs/PrivateNameObfuscation.md
+175-0mlir/test/mlir-tblgen/private-name-obfuscation.td
+153-0mlir/tools/mlir-tblgen/PrivateName.cpp
+82-0mlir/test/mlir-tblgen/private-pass-strip.td
+55-13mlir/tools/mlir-tblgen/PassGen.cpp
+61-0mlir/include/mlir/TableGen/PrivateName.h
+710-1318 files not shown
+891-3824 files

LLVM/project 0898643lldb/source/Host/macosx/objcxx Host.mm, lldb/test/API/commands/platform/process/list TestProcessList.py

[lldb] Do not include argv[0] to the process info arguments. (#198262)

The process file name is stored separately from other command line args.
and argv[0] may differ from the executable path if process was created
using the `exec*()` variants.
DeltaFile
+7-2lldb/source/Host/macosx/objcxx/Host.mm
+1-1lldb/test/API/commands/platform/process/list/TestProcessList.py
+1-1lldb/test/API/python_api/process/TestProcessAPI.py
+9-43 files

LLVM/project 0bb693ellvm/test/Transforms/Coroutines coro-materialize.ll

[Coroutines] Expand materialization tests (NFC) (#198571)

Expand checks so they check that the operation has been rematerialized,
and computed values are not being stored.

Assisted-by: Claude Code
DeltaFile
+48-0llvm/test/Transforms/Coroutines/coro-materialize.ll
+48-01 files

LLVM/project 736c739lld/test/ELF/lto amdgcn-oses.ll amdgcn.ll

Fix LLD tests
DeltaFile
+3-3lld/test/ELF/lto/amdgcn-oses.ll
+1-1lld/test/ELF/lto/amdgcn.ll
+4-42 files

LLVM/project 1b758e8llvm/lib/Target/AMDGPU SIISelLowering.cpp AMDGPULowerExecSync.cpp, llvm/test/CodeGen/AMDGPU addrspacecast-barrier.ll s-barrier.ll

[RFC][AMDGPU] Add BARRIER address space

Add a new BARRIER address space that is used for global variables that are used to represent the barrier IDs in GFX12.5.

These barrier addresses just have values corresponding 1-1 to barrier IDs. They are still implemented on top of LDS, but the offsetting happens during an addrspacecast to generic, not whenever the barrier GV is used.

The motivation for this is to make the relation between LDS and barrier GVs explicit in the compiler. It does add a bit more complexity, but that complexity was already there, just hidden by pretending barrier GVs were actual LDS.
DeltaFile
+442-0llvm/test/CodeGen/AMDGPU/addrspacecast-barrier.ll
+62-45llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+34-54llvm/lib/Target/AMDGPU/AMDGPULowerExecSync.cpp
+54-31llvm/test/CodeGen/AMDGPU/s-barrier.ll
+36-31llvm/test/CodeGen/AMDGPU/s-barrier-lowering.ll
+33-33llvm/test/CodeGen/AMDGPU/amdgpu-lower-exec-sync-and-module-lds.ll
+661-19436 files not shown
+1,076-45842 files

LLVM/project 9de90f5clang/test/CodeGenHIP amdgpu-barrier-type.hip, llvm/lib/Target/AMDGPU AMDGPU.h

Address comments
DeltaFile
+25-9clang/test/CodeGenHIP/amdgpu-barrier-type.hip
+16-0llvm/test/CodeGen/AMDGPU/barrier-addrspace-dereference.ll
+2-2llvm/lib/Target/AMDGPU/AMDGPU.h
+2-2llvm/test/CodeGen/AMDGPU/s-barrier-lowering.ll
+0-3llvm/test/CodeGen/AMDGPU/lds-link-time-codegen-named-barrier.ll
+45-165 files

LLVM/project 03b596bclang/lib/CodeGen TargetInfo.h CodeGenModule.cpp, clang/lib/CodeGen/Targets AMDGPU.cpp SPIR.cpp

[NFCI][clang] Allow overriding any global variable address space

Allow the target to change the AS of a global variable at will, not just whenever Clang cannot assign one.
This enables the next patch that will specialize LDS GVs for barriers as a separate address space.
DeltaFile
+10-9clang/lib/CodeGen/Targets/AMDGPU.cpp
+12-6clang/lib/CodeGen/TargetInfo.h
+7-8clang/lib/CodeGen/Targets/SPIR.cpp
+11-2clang/lib/CodeGen/CodeGenModule.cpp
+5-6clang/lib/CodeGen/TargetInfo.cpp
+6-3clang/lib/CodeGen/Targets/AVR.cpp
+51-346 files

LLVM/project ac9e2dallvm/lib/Target/AMDGPU AMDGPUMemoryUtils.cpp AMDGPUMemoryUtils.h

[NFC][AMDGPU] Generalize some LDS MemoryUtils

In preparation for upcoming work, I need some functions used by the LDS lowering
system to work on any GV. I removed the LDS specific queries inside these functions
and replaced them with functors passed by the caller, so these utility functions can be reused.

I also cleaned-up a few things that weren't up to code, such as lowercase variable names.
DeltaFile
+30-36llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
+37-9llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.h
+20-17llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
+24-10llvm/lib/Target/AMDGPU/AMDGPULowerExecSync.cpp
+7-6llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
+118-785 files

LLVM/project 2ec2994mlir/docs PrivateNameObfuscation.md, mlir/include/mlir/TableGen PrivateName.h

strip op and pass names
DeltaFile
+184-0mlir/docs/PrivateNameObfuscation.md
+179-0mlir/test/mlir-tblgen/private-name-obfuscation.td
+153-0mlir/tools/mlir-tblgen/PrivateName.cpp
+82-0mlir/test/mlir-tblgen/private-pass-strip.td
+55-13mlir/tools/mlir-tblgen/PassGen.cpp
+60-0mlir/include/mlir/TableGen/PrivateName.h
+713-1320 files not shown
+915-4526 files

LLVM/project 59a3461llvm/include/llvm/CodeGen/GlobalISel GIMatchTableExecutorImpl.h

fix formatting
DeltaFile
+2-1llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
+2-11 files

LLVM/project b3d60afclang/lib/Analysis LiveVariables.cpp

[NFC][Liveness] Document `TransferFunctions::Visit` (#198617)

The logic of `TransferFunctions::Visit` was confusing, which led to the
introduction of a "What is this?" comment when this method was touched
by an earlier code cleanup effort.

This commit replaces the "What is this?" comment block with comments
that clarify the roles of the main parts of this method.
DeltaFile
+7-3clang/lib/Analysis/LiveVariables.cpp
+7-31 files