LLVM/project 8de427blibc/src/__support/wctype upper_to_lower.h lower_to_upper.h, libc/test/src/__support/wctype wctype_perfect_hash_test.cpp

fix size difference on windows
DeltaFile
+540-523libc/src/__support/wctype/upper_to_lower.h
+460-538libc/src/__support/wctype/lower_to_upper.h
+42-28libc/utils/wctype_utils/conversion/hex_writer.py
+24-0libc/test/src/__support/wctype/wctype_perfect_hash_test.cpp
+1,066-1,0894 files

LLVM/project cb12534compiler-rt/lib/builtins emutls.c

[compiler-rt] Suppress unused variable report in emutls

Pull Request: https://github.com/llvm/llvm-project/pull/188329
DeltaFile
+4-0compiler-rt/lib/builtins/emutls.c
+4-01 files

LLVM/project a32d903bolt/docs profiles.md, llvm/include/llvm/CodeGenTypes LowLevelType.h

Merge branch 'main' into users/vitalybuka/spr/compiler-rt-suppress-unused-variable-report-in-emutls
DeltaFile
+132-389llvm/include/llvm/CodeGenTypes/LowLevelType.h
+364-0llvm/test/CodeGen/SPIRV/bool-vector-bitcast.ll
+253-0llvm/lib/Target/SPIRV/SPIRVCtorDtorLowering.cpp
+73-160llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+212-0bolt/docs/profiles.md
+0-135llvm/unittests/CodeGen/GlobalISel/IRTranslatorBF16Test.cpp
+1,034-68494 files not shown
+2,235-1,312100 files

LLVM/project aecfaf1flang/lib/Optimizer/OpenACC/Support RegisterOpenACCExtensions.cpp, flang/test/Fir/OpenACC offload-livein-value-canonicalization.fir

[flang][acc] Handle fir.undefined with OutlineRematerializationOpInterface in OffloadLiveInValueCanonicalization (#188325)

Example:
```fortran
!$ACC KERNELS PRESENT(CG, W1)
  CG(1:W1%WDES1%NPL, NN) = W1%CPTWFP(1:W1%WDES1%NPL)
  CPROJ(:, NN) = W1%CPROJ(1:SIZE(CPROJ,1))
!$ACC END KERNELS
```

When compiling OpenACC kernels containing array section assignments of
rank-2 arrays with a scalar index in one dimension (e.g. `CG(1:NPL,
NN)`), the Fortran lowering creates a `fir.slice` where collapsed
(scalar) dimensions use `fir.undefined index` as the stop/step values.
`SliceOp::getOutputRank()` relies on `getDefiningOp()` returning
`fir::UndefOp` to identify these collapsed dimensions and compute the
correct output rank.

When `fir.undefined` values defined outside an offload region are used

    [15 lines not shown]
DeltaFile
+52-0flang/test/Fir/OpenACC/offload-livein-value-canonicalization.fir
+4-0flang/lib/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.cpp
+56-02 files

LLVM/project 408bb4dlibc/src/math totalordermagbf16.h totalorderbf16.h

[libc] Wrong guards for `totalorderbf16` and `totalordermagbf16` (#188241)

Currently the guards for `totalorderbf16` and `totalordermagbf16` are as
follows:
```
#ifndef LLVM_LIBC_SRC_MATH_TOTALORDERMAGF16_H
#define LLVM_LIBC_SRC_MATH_TOTALORDERMAGF16_H
-
#endif // LLVM_LIBC_SRC_MATH_TOTALORDERMAGF16_H
```
and 
```
#ifndef LLVM_LIBC_SRC_MATH_TOTALORDERF16_H
#define LLVM_LIBC_SRC_MATH_TOTALORDERF16_H
-
#endif // LLVM_LIBC_SRC_MATH_TOTALORDERF16_H
```
As we can see these are for F16 and not BF16 .
This Pr intends to fix that with correct guards as `TOTALORDERBF16` and
`TOTALORDERMAGBF16`
DeltaFile
+3-3libc/src/math/totalordermagbf16.h
+3-3libc/src/math/totalorderbf16.h
+6-62 files

LLVM/project 9999f7flibc/src/math atanpif16.h

[libc] Wrong header guard comment for atanpif16 (#188310)

This PR intends to fix a small nit caused in
[1c1135b](https://github.com/llvm/llvm-project/pull/150400/commits/1c1135b3fccf59537243fc365e83a568f77273ae)
```
#endif // LLVM_LIBC_SRC_MATH_ASINIF16_H
```
to 
```
#endif // LLVM_LIBC_SRC_MATH_ATANPIF16_H
```
DeltaFile
+1-1libc/src/math/atanpif16.h
+1-11 files

LLVM/project b60a39elld/test/wasm/lto thinlto-shared-memory-atomics.ll, lld/wasm LTO.cpp

[lld][WebAssembly] Propagate +atomics for ThinLTO when using --shared-memory (#188381)

When compiling WebAssembly with ThinLTO, functions are partitioned into
isolated `.bc` modules and dispatched to individual LTO backend threads.
During code generation, the `CoalesceFeaturesAndStripAtomics` pass
iterates over the module to gather the union of target features (like
`+atomics`) attached to defined functions. In particular when not using
threads, it lowers away atomics and TLS variables to their
single-threaded equivalents.

However, if a partitioned module only contains globally defined TLS
variables (e.g. there are no functions, or all functions were fully
inlined or stripped by dropDeadSymbols before ThinLTO optimization), the
module becomes completely devoid of function definitions. The coalescing
pass then falls back to fetching features from the `TargetMachine`.
Because in LTO the `TargetMachine` defaults to a generic target without
atomics enabled, the TLS is lowered away and the `wasm-feature-atomics`
flag is omitted from the resulting ThinLTO object partition, causing
`wasm-ld` to immediately reject it.

    [8 lines not shown]
DeltaFile
+40-0lld/test/wasm/lto/thinlto-shared-memory-atomics.ll
+13-0lld/wasm/LTO.cpp
+53-02 files

LLVM/project aafe5bdlibc/src/__support/wctype perfect_hash_map.h

fix bitwidth
DeltaFile
+2-2libc/src/__support/wctype/perfect_hash_map.h
+2-21 files

LLVM/project 6708e82libc/src/__support/wctype perfect_hash_map.h

bit field
DeltaFile
+2-2libc/src/__support/wctype/perfect_hash_map.h
+2-21 files

LLVM/project dd9885cclang-tools-extra/clang-tidy/modernize UseStdFormatCheck.cpp, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Add missing #include insertion in macros for modernize-use-std-format (#188247)

Added missing ``#include`` insertion when the format function call
appears as an argument to a macro.

Part of #175183

---------

Co-authored-by: Victor Chernyakin <chernyakin.victor.j at outlook.com>
DeltaFile
+21-0clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-macro.cpp
+6-2clang-tools-extra/docs/ReleaseNotes.rst
+2-2clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
+29-43 files

LLVM/project 9ecae70libc/test/src/__support/wctype wctype_perfect_hash_test.cpp

fix tests
DeltaFile
+12-6libc/test/src/__support/wctype/wctype_perfect_hash_test.cpp
+12-61 files

LLVM/project d2dab97llvm/lib/Target/SPIRV SPIRVEmitIntrinsics.cpp, llvm/test/CodeGen/SPIRV bool-vector-bitcast.ll

[SPIR-V] Decompose bitcasts involving bool vectors (#187960)

OpTypeBool has no defined bitwidth in SPIR-V, so OpBitcast is invalid
for boolean vector types. Decompose `<N x i1> <-> iN` bitcasts into
element-wise extract/shift/OR and AND/icmp/insert sequences during IR
preprocessing.

Fixes:
https://github.com/kuhar/iree/blob/amdgcn-spirv/spirv-repros/bitcast_crash.ll
and https://github.com/llvm/llvm-project/issues/185815
DeltaFile
+364-0llvm/test/CodeGen/SPIRV/bool-vector-bitcast.ll
+80-0llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+66-0llvm/test/CodeGen/SPIRV/llvm-intrinsics/masked-load-store.ll
+510-03 files

LLVM/project 9d7e716libc/src/__support/wctype perfect_hash_map.h lower_to_upper.h, libc/utils/wctype_utils/conversion hex_writer.py

fix windows build errors
DeltaFile
+16-14libc/src/__support/wctype/perfect_hash_map.h
+2-2libc/utils/wctype_utils/conversion/hex_writer.py
+1-1libc/src/__support/wctype/lower_to_upper.h
+1-1libc/src/__support/wctype/upper_to_lower.h
+1-1libc/src/__support/wctype/CMakeLists.txt
+21-195 files

LLVM/project 2a74c82llvm/lib/Target/AMDGPU AMDGPUCoExecSchedStrategy.h AMDGPUCoExecSchedStrategy.cpp

Formatting

Change-Id: I3d89fba145471141ef945b1de15330caa245e82d
DeltaFile
+4-4llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h
+4-3llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
+8-72 files

LLVM/project f4180a7llvm/lib/Target/AMDGPU AMDGPUCoExecSchedStrategy.cpp AMDGPUCoExecSchedStrategy.h, llvm/test/CodeGen/AMDGPU coexec-scheduler.ll

Claude Code review

Change-Id: Iab06de2981b27667cc29a56931dd378ecf7a1b0c
DeltaFile
+115-109llvm/test/CodeGen/AMDGPU/coexec-scheduler.ll
+16-26llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
+5-0llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h
+136-1353 files

LLVM/project 710c2f0llvm/unittests/SandboxIR TrackerTest.cpp

[SandboxIR][Tracker] Test UncondBrInst CondBrInst setters (#187549)

This checks the `setCondition()` and `setSuccessor()` setters introduced
in #187196.
DeltaFile
+78-0llvm/unittests/SandboxIR/TrackerTest.cpp
+78-01 files

LLVM/project 2a7b0f0lldb/bindings/python python-wrapper.swig

[lldb] use the Py_REFCNT() macro instead of directly accessing member (#188161)

[PyObject members are not to be accessed
directly](https://docs.python.org/3/c-api/structures.html#c.PyObject),
but rather through macros, in this case `Py_REFCNT()`.

In most, ie Global Interpreter Lock-enabled, CPython cases,
`Py_REFCNT()` expands to accessing `ob_refcnt` anyway. However, in a
free-threaded CPython, combined with disabling the limited API (since it
requires the GIL for now), the direct member does not exist, causing the
build to fail. The macro expands to the correct access method in the
free-threaded configuration.
DeltaFile
+1-1lldb/bindings/python/python-wrapper.swig
+1-11 files

LLVM/project 30084d7libcxx/include/ext hash_map, libcxx/test/extensions/gnu/hash_map non_standard_layout.pass.cpp

[libc++] Fix type confusion in hash_{,multi}map

The type `__gnu_cxx::hash_{,multi}map` creates objects of type
`std::pair<Key, Value>` and returns pointers to them of type
`std::pair<const Key, Value>`. If either `Key` or `Value` are
non-standard-layout, this is UB, and is furthermore considered by
pointer field protection to be a type confusion, which leads to a
program crash. Fix it by using the correct type for the pair's storage
and using const_cast to form a pointer to the key in the one place where
that is needed.

Reviewers: ldionne

Reviewed By: ldionne

Pull Request: https://github.com/llvm/llvm-project/pull/183223
DeltaFile
+7-11libcxx/include/ext/hash_map
+16-0libcxx/test/extensions/gnu/hash_map/non_standard_layout.pass.cpp
+16-0libcxx/test/extensions/gnu/hash_multimap/non_standard_layout.pass.cpp
+39-113 files

LLVM/project ea4e247llvm/lib/Target/AMDGPU AMDGPUCoExecSchedStrategy.cpp GCNSchedStrategy.cpp, llvm/test/CodeGen/AMDGPU coexec-scheduler.ll

[AMDGPU] Add block carried latency to CoExecSched

Change-Id: Ib04e40e57d38e127d6c5452d1719e32dacef2ade
DeltaFile
+880-4llvm/test/CodeGen/AMDGPU/coexec-scheduler.ll
+167-45llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
+0-37llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
+22-5llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h
+0-4llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
+1,069-955 files

LLVM/project c3d69edmlir/lib/Transforms Mem2Reg.cpp, mlir/test/Dialect/LLVMIR mem2reg.mlir

[mlir][mem2reg] Process direct uses inside other regions. (#188359)

We need to add the regions with the direct uses into the list
for processing, otherwise the direct uses will not be removed
and will use the slot after the promotion.

The added LIT test was triggering "after promotion, the slot pointer
should not be used anymore" assertion.
DeltaFile
+16-0mlir/test/Dialect/LLVMIR/mem2reg.mlir
+1-0mlir/lib/Transforms/Mem2Reg.cpp
+17-02 files

LLVM/project 303afa0lldb/source/Plugins/SymbolFile/DWARF DWARFASTParserClang.cpp DWARFASTParserClang.h, lldb/test/API/lang/cpp/non-type-template-param-member-ptr main.cpp TestCppNonTypeTemplateParamPtrToMember.py

[lldb][DWARFASTParserClang] Handle pointer-to-member-data non-type template (#187598)

## Description

### Problem
MakeAPValue in DWARFASTParserClang.cpp did not handle
pointer-to-member-data non-type template parameters (e.g., template <int
S::*P>), causing LLDB to produce incorrect results or crash.

DWARF encodes pointer-to-member-data NTTPs as
`DW_TAG_template_value_parameter` with a `DW_AT_const_value`
representing the byte offset of the member within the containing struct.
MakeAPValue is responsible for converting this value into a clang
APValue, but it only handled integer/enum and floating-point types. For
pointer-to-member types, it returned `std::nullopt`.

This caused the caller (ParseTemplateDIE) to fall back to creating a
type-only TemplateArgument (kind=Type) instead of a value-carrying one.
When two specializations differ only by which member they point to

    [209 lines not shown]
DeltaFile
+94-11lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
+16-0lldb/test/API/lang/cpp/non-type-template-param-member-ptr/main.cpp
+14-0lldb/test/API/lang/cpp/non-type-template-param-member-ptr/TestCppNonTypeTemplateParamPtrToMember.py
+7-0lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
+3-0lldb/test/API/lang/cpp/non-type-template-param-member-ptr/Makefile
+134-115 files

LLVM/project 809e412llvm/test/CodeGen/AMDGPU memintrinsic-unroll.ll fptosi-sat-vector.ll, llvm/test/CodeGen/X86 vector-interleaved-load-i64-stride-7.ll vector-interleaved-load-i8-stride-8.ll

Merge branch 'fix-blockfreq-unroll-unconditional-latches--fast' into fix-blockfreq-unroll-unconditional-latches--uniform
DeltaFile
+6,835-6,798llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
+5,208-5,214llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
+3,046-3,042llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-8.ll
+4,674-713llvm/test/CodeGen/AMDGPU/fptosi-sat-vector.ll
+4,293-678llvm/test/CodeGen/AMDGPU/fptoui-sat-vector.ll
+4,523-0llvm/test/tools/llvm-mca/RISCV/SiFiveX100/rvv/arithmetic.test
+28,579-16,4453,996 files not shown
+217,312-84,1304,002 files

LLVM/project 2fafeb0bolt/include/bolt/Profile DataAggregator.h DataReader.h, bolt/lib/Profile DataAggregator.cpp

[BOLT] Support buildid in pre-aggregated profile (#186931)

Sample addresses belonging to external DSOs (buildid doesn't match the
current file) are treated as external (0).

Buildid for the main binary is expected to be omitted.

Test Plan:
added pre-aggregated-perf-buildid.test
DeltaFile
+55-0bolt/test/X86/pre-aggregated-perf-buildid.test
+18-0bolt/lib/Profile/DataAggregator.cpp
+9-0bolt/test/X86/Inputs/pre-aggregated-buildid.txt
+4-0bolt/include/bolt/Profile/DataAggregator.h
+1-1bolt/include/bolt/Profile/DataReader.h
+87-15 files

LLVM/project 2e247a1bolt/include/bolt/Profile DataAggregator.h, bolt/lib/Profile DataAggregator.cpp

Revert "[BOLT] Support buildid in pre-aggregated profile"

Accidentally pushed unreviewed version.

This reverts commit fce6895804e596f18765c4db0f76931dac8df9f8.
DeltaFile
+3-96bolt/lib/Profile/DataAggregator.cpp
+0-9bolt/include/bolt/Profile/DataAggregator.h
+3-1052 files

LLVM/project 2975451lldb/packages/Python/lldbsuite/test lldbtest.py

[lldb] Mark lldbtest.build() parameters as keyword-only (#188327)

This reinforces what is already true in the codebase: all uses of
`build()` use keyword arguments.

With this change, it will be an error to call `build` using positional
arguments:

```
TypeError: build() takes 1 positional argument but 2 were given
```
DeltaFile
+1-0lldb/packages/Python/lldbsuite/test/lldbtest.py
+1-01 files

LLVM/project fce6895bolt/include/bolt/Profile DataAggregator.h, bolt/lib/Profile DataAggregator.cpp

[BOLT] Support buildid in pre-aggregated profile

Sample addresses belonging to external DSOs (buildid doesn't match the
current file) are treated as external (0).

Buildid for the main binary is expected to be omitted.

Test Plan: added pre-aggregated-perf-buildid.test

Reviewers:
paschalis-mpeis, maksfb, yavtuk, ayermolo, yozhu, rafaelauler, yota9

Reviewed By: paschalis-mpeis

Pull Request: https://github.com/llvm/llvm-project/pull/186931
DeltaFile
+96-3bolt/lib/Profile/DataAggregator.cpp
+9-0bolt/include/bolt/Profile/DataAggregator.h
+105-32 files

LLVM/project 31b17c4bolt/docs profiles.md index.rst

[BOLT] Add profile format documentation (#186685)

Create bolt/docs/profiles.md documenting all accepted profile formats:
perf.data, fdata, YAML, and pre-aggregated. Covers collection methods,
format syntax, examples, and known limitations.

Add reference from bolt/docs/index.rst.
DeltaFile
+212-0bolt/docs/profiles.md
+6-0bolt/docs/index.rst
+218-02 files

LLVM/project de0c366llvm/lib/Target/SPIRV SPIRVCtorDtorLowering.cpp SPIRVCtorDtorLowering.h, llvm/test/CodeGen/SPIRV ctor-dtor-lowering.ll ctor-dtor-lowering-ir.ll

[llvm][SPIRV] Add pass to lower Ctors/Dtors for SPIRV (#187509)

This PR adds a new SPIRV pass that generates a kernel named
"spirv$device$init" that iterates the pointers in the table pointed by
__init_array_start and __init_array_end and executes them. It also
generates symbols for each constructor with the form
__init_array_object_NAME_PRIORITY.

These symbols will be used by the Level Zero plugin in the liboffload
runtime (with the support introduced by #187510) to generate the
aforementioned table as spirv-link cannot create the table itself.

It also does the same thing for destructors, with the kernel name being
"spirv$device$fini", the table pointers __fini_array_start and
__fini_array_end, and the generated symbols prefix __fini_array_object.

The code was mostly generated by Claude 4.5 and has been reviewed by me
to the best of my ability.
DeltaFile
+253-0llvm/lib/Target/SPIRV/SPIRVCtorDtorLowering.cpp
+48-0llvm/test/CodeGen/SPIRV/ctor-dtor-lowering.ll
+45-0llvm/test/CodeGen/SPIRV/ctor-dtor-lowering-ir.ll
+36-0llvm/test/CodeGen/SPIRV/ctor-dtor-no-openmp-ir.ll
+27-0llvm/lib/Target/SPIRV/SPIRVCtorDtorLowering.h
+2-0llvm/test/CodeGen/SPIRV/llc-pipeline.ll
+411-03 files not shown
+416-09 files

LLVM/project 6a045c2llvm/include/llvm/CodeGenTypes LowLevelType.h, llvm/lib/CodeGen LowLevelTypeUtils.cpp

Revert "[GlobalISel][LLT] Introduce FPInfo for LLT (Enable bfloat, ppc128float and others in GlobalISel) (#155107)" (#188344)

This reverts commit b1aa6a45060bb9f89efded9e694503d6b4626a4a and commit
ce44d63e0d14039f1e8f68e6b7c4672457cabd4e.

This fails the build with some older gcc:

llvm/include/llvm/CodeGenTypes/LowLevelType.h:501:35: error: call to
non-constexpr function ‘static llvm::LLT llvm::LLT::integer(unsigned
int)’
     return integer(getSizeInBits());
                                   ^
DeltaFile
+132-389llvm/include/llvm/CodeGenTypes/LowLevelType.h
+73-160llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+0-135llvm/unittests/CodeGen/GlobalISel/IRTranslatorBF16Test.cpp
+35-77llvm/lib/CodeGen/MIRParser/MIParser.cpp
+39-64llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
+25-69llvm/lib/CodeGen/LowLevelTypeUtils.cpp
+304-89447 files not shown
+457-1,27453 files

LLVM/project 6b12809clang/test/InstallAPI extra-exclude-headers.test hiddens.test

[InstallAPI] [Tests] Avoid checking compiler output for 'error' (#188307)

We have two tests that use FileCheck for diagnostics and which try to
check that the output contains no compiler errors by checking for the
string 'error'. The issue with this approach is that this also causes
those tests to fail if the *path* contains the word 'error', which can
happen e.g. if the branch name contains the word 'error'.

Instead, we now check for `error:` since that string is much less likely
to appear in a path.
DeltaFile
+1-1clang/test/InstallAPI/extra-exclude-headers.test
+1-1clang/test/InstallAPI/hiddens.test
+2-22 files