LLVM/project 9816052llvm/lib/Target/NVPTX NVPTXAsmPrinter.cpp, llvm/test/CodeGen/NVPTX global-ordering.ll

[NVPTX] Handle symbol-relative integer initializers in aggregates (#201220)

A symbol-relative integer applies an offset outside the ptrtoint, e.g.

    @g = addrspace(1) global i8 0
    @s = addrspace(1) global { i64, i64 }
           { i64 add (i64 ptrtoint (ptr addrspace(1) @g to i64), i64 4),
             i64 7 }

I'm not sure this is an important feature, but it's explicitly
implemented and works for scalars; the bug is that it hits
llvm_unreachable if you use it inside an aggregate.

While we're here, we also add support for Sub in addition to Add.
DeltaFile
+15-0llvm/test/CodeGen/NVPTX/global-ordering.ll
+11-1llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
+26-12 files

LLVM/project b207fd6lldb CMakeLists.txt, lldb/source/Host/common PythonRuntimeLoader.cpp

[lldb] Use the right MinGW name for the Python DLLs (#201325)

In MinGW mode, the Python DLLs have different names than they have in
MSVC mode; they are named `libpython<major>.<minor>.dll` (a "lib" prefix
and a dot between major and minor) and `libpython3.dll`.

This avoids a warning on startup after
142ad481b6254104a51da7d636ad9e3f30518a32 and total failures to start up
after 3eb13f8db39ed42827122489c830c414cb6660e3.
DeltaFile
+7-3lldb/source/Host/common/PythonRuntimeLoader.cpp
+7-2lldb/CMakeLists.txt
+14-52 files

LLVM/project 0a4f19eclang/lib/Format UnwrappedLineParser.cpp, clang/unittests/Format FormatTestObjC.cpp

[clang-format][Objective-C] Fix assertion crash on stray '-'/'+' in @interfa… (#199104)

Before calling `parseObjCMethod()`, it now checks whether the next token
is a `(` or an identifier; if not, it simply skips ahead, thereby
preventing the assertion failure and subsequent crash.
Fixes #199075
DeltaFile
+16-0clang/unittests/Format/FormatTestObjC.cpp
+2-1clang/lib/Format/UnwrappedLineParser.cpp
+18-12 files

LLVM/project d201822llvm/docs CMake.md

Apply suggestion manually
DeltaFile
+2-4llvm/docs/CMake.md
+2-41 files

LLVM/project 3c9afa9llvm/docs ProjectGovernance.rst index.rst

[Docs] Project governance documentation (#197108)

This page largely covers the same information as proposal LP-0004 and
also includes information on current area team and project council
composition.
DeltaFile
+253-0llvm/docs/ProjectGovernance.rst
+2-0llvm/docs/index.rst
+255-02 files

LLVM/project fb649b4compiler-rt/cmake/Modules AddCompilerRT.cmake

[compiler-rt][cmake][msvc] Install PDBs for shared libraries (#201224)

Following up on similar PRs in the past to address PDBs not being copied
for install targets:
* https://github.com/llvm/llvm-project/pull/126961
* https://github.com/llvm/llvm-project/pull/126680
* https://github.com/llvm/llvm-project/pull/120683
DeltaFile
+3-0compiler-rt/cmake/Modules/AddCompilerRT.cmake
+3-01 files

LLVM/project cca1738llvm/lib/Transforms/Scalar LoopInterchange.cpp, llvm/test/Transforms/LoopInterchange atomic-memory-ordering.ll invoke.ll

[LoopInterchange] Identify unsafe instructions for interchange (#201402)

In LoopInterchange, all instructions in the loops are traversed and
checked during the legality phase, and the pass bails out if it finds an
instruction that is unsafe to interchange. However, previously it only
handled call instructions and ignored all others, leaving several kinds
of instruction that should have been detected but were not.
This patch fixes the issue by restructuring the legality check, in
particular replacing instruction‑specific handling with calling general
Instruction APIs.

Fixes #200913.
DeltaFile
+14-36llvm/test/Transforms/LoopInterchange/atomic-memory-ordering.ll
+21-18llvm/lib/Transforms/Scalar/LoopInterchange.cpp
+5-15llvm/test/Transforms/LoopInterchange/invoke.ll
+2-2llvm/test/Transforms/LoopInterchange/call-instructions-remarks.ll
+42-714 files

LLVM/project 0c9f16cflang/lib/Lower/OpenMP OpenMP.cpp, flang/test/Lower/OpenMP metadirective-user.f90

Fix match_any dynamic user condition ranking

A dynamic condition in extension(match_any) can be false even when another static
trait already makes the variant applicable. Before this change, lowering still
ranked the condition as true in that situation, so `condition(score(N): flag)`
could make the variant win even when flag is false.

The previous change separated static applicability from guarded ranking for
dynamic conditions. This fix adds the match_any-specific handling:

```
  if staticVMI does not match:
    try conditionTrueVMI, because the runtime condition itself may satisfy match_any

  if staticVMI already matches and this is match_any:
    add guarded candidate: flag true, with user_condition_true and score
    add unguarded candidate: flag false, with only static traits

  otherwise:

    [6 lines not shown]
DeltaFile
+81-26flang/lib/Lower/OpenMP/OpenMP.cpp
+68-0flang/test/Lower/OpenMP/metadirective-user.f90
+149-262 files

LLVM/project 3d830a9flang/lib/Lower OpenACC.cpp, flang/test/Lower/OpenACC acc-cache.f90

[flang][OpenACC] Re-declare cached array sections with lower bounds only (#201223)

When acc.cache yields a box, rebind the symbol with a fir.shift (lower
bounds, no extents) instead of a fir.shape_shift, so the rebox preserves
the materialized descriptor's extents and strides. Add lowering tests.

Assisted by Claude
DeltaFile
+58-0flang/test/Lower/OpenACC/acc-cache.f90
+22-3flang/lib/Lower/OpenACC.cpp
+80-32 files

LLVM/project 5e89099llvm/lib/Target/AMDGPU AMDGPUCodeGenPrepare.cpp

[AMDGPU] Simplify getDivNumBits with APInt::countMaxActiveBits. NFC. (#201387)
DeltaFile
+4-6llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
+4-61 files

LLVM/project 37432c8lldb/unittests/Host CMakeLists.txt

[lldb] Add PARTIAL_SOURCES_INTENDED to HostTests to fix build  (#201361)

with LLDB_ENABLE_PYTHON=OFF

PythonRuntimeLoaderTest.cpp is only added to the target when Python is
enabled, which orphaned the source and broke configuration otherwise

culprit PR: https://github.com/llvm/llvm-project/pull/200524
DeltaFile
+1-0lldb/unittests/Host/CMakeLists.txt
+1-01 files

LLVM/project 9c9abadllvm/lib/Transforms/Scalar LoopInterchange.cpp

address review
DeltaFile
+1-1llvm/lib/Transforms/Scalar/LoopInterchange.cpp
+1-11 files

LLVM/project 945df61llvm/lib/Transforms/Scalar LoopInterchange.cpp, llvm/test/Transforms/LoopInterchange atomic-memory-ordering.ll invoke.ll

[LoopInterchange] Identify unsafe instructions for interchange
DeltaFile
+14-36llvm/test/Transforms/LoopInterchange/atomic-memory-ordering.ll
+21-18llvm/lib/Transforms/Scalar/LoopInterchange.cpp
+5-15llvm/test/Transforms/LoopInterchange/invoke.ll
+2-2llvm/test/Transforms/LoopInterchange/call-instructions-remarks.ll
+42-714 files

LLVM/project d703919llvm/test/Transforms/LoopInterchange atomic-memory-ordering.ll invoke.ll

[LoopInterchange] Add tests for instructions that aren't checked (NFC) (#201401)

This patch adds test cases that contain instructions which are currently
not handled properly in the legality check, leading to miscompilations.
Some of the test cases are taken from #200913, and others are cases that
trigger unsafe interchange for the same reason. I am not trying to cover
all possible instruction types here, since a follow-up patch will update
the legality check so that it can handle other instructions as well.
DeltaFile
+166-0llvm/test/Transforms/LoopInterchange/atomic-memory-ordering.ll
+74-0llvm/test/Transforms/LoopInterchange/invoke.ll
+240-02 files

LLVM/project 884168clibc/include/llvm-libc-macros math-macros.h

[libc] add HUGE_VALL (#201235)

Straightforward macro in math-macros.h
DeltaFile
+1-0libc/include/llvm-libc-macros/math-macros.h
+1-01 files

LLVM/project ab19e80llvm/docs DeveloperPolicy.md CMake.md

Remove many pandoc-isms from DeveloperPolicy and CMake
DeltaFile
+393-398llvm/docs/DeveloperPolicy.md
+76-76llvm/docs/CMake.md
+469-4742 files

LLVM/project 0fcf63eflang/include/flang/Parser parse-tree.h, flang/lib/Semantics check-acc-structure.cpp

[flang][OpenACC] Add minus operator to reduction clause (#200909)

Adds '-' as a recognized reduction operator alongside '+'. The new
ReductionOperator::Operator::Minus is parsed from the '-' token,
accepted on integer/real/complex reduction variables, and lowered the
same as Plus (mlir::acc::ReductionOperator::AccAdd in OpenACC, and
fir::ReduceOperationEnum::Add in DO CONCURRENT). The unparser emits it
as '-'.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
DeltaFile
+18-0flang/test/Lower/OpenACC/acc-reduction.f90
+17-0flang/test/Semantics/OpenACC/acc-reduction-validity.f90
+17-0flang/test/Semantics/resolve124.f90
+8-0flang/lib/Semantics/check-acc-structure.cpp
+7-0flang/test/Semantics/reduce.cuf
+3-3flang/include/flang/Parser/parse-tree.h
+70-37 files not shown
+90-313 files

LLVM/project 1b5a86foffload/unittests/OffloadAPI/memory olMemFill.cpp

[OFFLOAD] Update L0 olMemFill unit tests known failures (#201323)

With the latest L0 changes most MemFill tests are passing. Only those
that rely on olLaunchHostFunction should be skipped.
DeltaFile
+8-4offload/unittests/OffloadAPI/memory/olMemFill.cpp
+8-41 files

LLVM/project b76fb96offload/plugins-nextgen/level_zero/include L0Program.h, offload/plugins-nextgen/level_zero/src L0Program.cpp

[OFFLOAD][L0] Return symbol size in getGlobalMetadataFromDevice (#201352)

Return not just the address but also the size of the symbols in getGlobalMetadataFromDevice.
Fixes olGetSymbolInfoSizeGlobalTest.SuccessSize unitt test failure with L0 plugin.
DeltaFile
+22-18offload/plugins-nextgen/level_zero/src/L0Program.cpp
+4-2offload/plugins-nextgen/level_zero/include/L0Program.h
+0-2offload/unittests/OffloadAPI/symbol/olGetSymbolInfo.cpp
+26-223 files

LLVM/project d8fb3dcoffload/test/api omp_indirect_func_basic.c, offload/test/offloading cuda_no_devices.c shared_lib_fp_mapping.c

[offload][lit] Disable three more tests on Intel GPU (#201381)

Buildbot is still unstable, these tests are causing kernel driver errors
so let's disable them.

Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
DeltaFile
+1-1offload/test/api/omp_indirect_func_basic.c
+1-1offload/test/offloading/cuda_no_devices.c
+1-1offload/test/offloading/shared_lib_fp_mapping.c
+3-33 files

LLVM/project 8eb2520lldb/docs/resources lldbgdbremote.md, lldb/include/lldb/Utility AcceleratorGDBRemotePackets.h

[lldb-server] Add breakpoint support to accelerator plugin protocol (#200584)

This is the 2nd PR of many related to
https://discourse.llvm.org/t/upstreaming-basic-support-for-accelerators/89827/6
Continuation to https://github.com/llvm/llvm-project/pull/198907

Extend the accelerator plugin infrastructure with breakpoint request and
hit handling, allowing plugins to set breakpoints in the native process
and respond when those breakpoints are hit.

This patch adds:

- Support for jAcceleratorPluginBreakpointHit packet handler in
GDBRemoteCommunicationServerLLGS that routes hits to the correct plugin
by name and returns the plugin's response
- Many related struct for defining request packet and response packet.
New structs: AcceleratorBreakpointByName,
AcceleratorBreakpointByAddress, AcceleratorBreakpointInfo, SymbolValue
,AcceleratorBreakpointHitArgs and AcceleratorBreakpointHitResponse

    [5 lines not shown]
DeltaFile
+189-0lldb/unittests/Utility/AcceleratorGDBRemotePacketsTest.cpp
+93-46lldb/docs/resources/lldbgdbremote.md
+106-9lldb/source/Utility/AcceleratorGDBRemotePackets.cpp
+104-1lldb/include/lldb/Utility/AcceleratorGDBRemotePackets.h
+71-23lldb/test/API/accelerator/mock/TestMockAcceleratorPlugin.py
+34-1lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
+597-807 files not shown
+639-8113 files

LLVM/project 27ff759compiler-rt/lib/profile InstrProfilingPlatformROCm.cpp, llvm/test/CodeGen/AMDGPU fsqrt.f32.ll llvm.amdgcn.frexp.exp.ll

Merge branch 'main' into users/kasuga-fj/loop-interchange-test-missed-insts
DeltaFile
+1,003-8,015llvm/test/CodeGen/X86/clmul-vector.ll
+3,092-2,392llvm/test/CodeGen/AMDGPU/GlobalISel/frem.ll
+578-409llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
+0-897compiler-rt/lib/profile/InstrProfilingPlatformROCm.cpp
+859-0llvm/test/CodeGen/X86/clmul.ll
+360-16llvm/test/CodeGen/AMDGPU/llvm.amdgcn.frexp.exp.ll
+5,892-11,729159 files not shown
+9,283-13,668165 files

LLVM/project 974be2bllvm/lib/Transforms/Scalar LoopInterchange.cpp, llvm/test/Transforms/LoopInterchange non-phi-uses-lcssa-phi.ll

[LoopInterchange] Fix assertion failure when LCSSA PHI is used by non-PHI (#201059)

This patch fixes one of the assertion failures reported in #200819. The
root cause is that the assertion assumes all uses of LCSSA PHIs are PHI
nodes, which is not always true, so `cast<PHINode>(U)` can fail. In
fact, the user does not have to be a PHI, and the assertion should apply
the special check only when the user is a PHI node.
DeltaFile
+75-0llvm/test/Transforms/LoopInterchange/non-phi-uses-lcssa-phi.ll
+4-2llvm/lib/Transforms/Scalar/LoopInterchange.cpp
+79-22 files

LLVM/project 85b72c1llvm/lib/AsmParser LLParser.cpp, llvm/test/Assembler invalid-phi-fast-math-flags.ll invalid-select-fast-math-flags.ll

[AsmParser] Delete orphaned select/phi when rejecting fast-math-flags (#201409)

parseSelect/parsePHI create the instruction before the caller checks the
fast-math-flags. When FMF are rejected on a non-FP select/phi, the error
path leaked the instruction, which crashed on teardown with "Uses remain
when a value is destroyed!".

Fix by deleting the instruction before returning the error, as is
already done for `call`.

Fixes #185111.
DeltaFile
+10-0llvm/test/Assembler/invalid-phi-fast-math-flags.ll
+6-2llvm/lib/AsmParser/LLParser.cpp
+7-0llvm/test/Assembler/invalid-select-fast-math-flags.ll
+23-23 files

LLVM/project bad4005llvm/utils/LLVMVisualizers llvm.natvis

[NATVIS] Fix bitrotted SmallPtrSet handling (#201404)

Use IsSmall to report Small/Big Mode
Use NumEntries instead of NumNonEmpty to track array size
DeltaFile
+4-4llvm/utils/LLVMVisualizers/llvm.natvis
+4-41 files

LLVM/project 7e439d5llvm/lib/Transforms/Vectorize VectorCombine.cpp, llvm/test/Transforms/VectorCombine/X86 shuffle-of-intrinsics.ll

[VectorCombine] Skip foldShuffleOfIntrinsics when operand types differ (#201241)

Example:
```llvm
define <4 x i32> @t(<2 x float> %a, <2 x double> %b) {
  %fa = call <2 x i32> @llvm.fptosi.sat.v2i32.v2f32(<2 x float> %a)
  %fb = call <2 x i32> @llvm.fptosi.sat.v2i32.v2f64(<2 x double> %b)
  %s = shufflevector <2 x i32> %fa, <2 x i32> %fb, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  ret <4 x i32> %s
}
```

In this code, `foldShuffleOfIntrinsics` folds `shuffle(intrinsic(x),
intrinsic(y))` into `intrinsic(shuffle(x, y))`, but only checks the
result type, not the operand types. Since `fptosi.sat` is overloaded on
its operand type, the two calls share an `<2 x i32>` result but have
different operands (`<2 x float>` vs `<2 x double>`), so the new
`shufflevector` gets mismatched operands and trips `isValidOperands`.

Fix: bail out when the intrinsics' shuffled operands have different
types.
DeltaFile
+21-0llvm/test/Transforms/VectorCombine/X86/shuffle-of-intrinsics.ll
+14-3llvm/lib/Transforms/Vectorize/VectorCombine.cpp
+35-32 files

LLVM/project 517308aclang-tools-extra/clang-tidy/readability ContainerSizeEmptyCheck.cpp, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Extend readability-container-size-empty to std::size() (#201231)

Fixes #198494

Extend the check to warn when the non-member `std::size()` free function
is used in a boolean context or compared to 0/1, and suggest using
.empty instead.
DeltaFile
+62-0clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
+24-18clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
+7-7clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
+4-0clang-tools-extra/docs/ReleaseNotes.rst
+97-254 files

LLVM/project 5708e7fcompiler-rt/lib/scudo/standalone/tests primary_test.cpp

[compiler-rt] fix out-of-bounds access in scudo test (#201390)

When `I = 0`, we can't do `Array[I-1]`.

Caught by libcxx hardening.
DeltaFile
+1-1compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
+1-11 files

LLVM/project 93ac391openmp/runtime/src kmp_adt.h

std::function -> template
DeltaFile
+16-6openmp/runtime/src/kmp_adt.h
+16-61 files

LLVM/project 4bd7b61clang/include/clang/Options Options.td, clang/lib/Driver/ToolChains Clang.cpp

address comments
DeltaFile
+2-2clang/include/clang/Options/Options.td
+1-1clang/lib/Driver/ToolChains/Clang.cpp
+3-32 files