LLVM/project 7baee63libunwind/src libunwind.cpp, libunwind/test cfi_violating_handler.pass.cpp

[libunwind][PAC] Defang ptrauth's PC in valid CFI range abort

It turns out making the CFI check a release mode abort causes many,
if not the majority, of JITs to fail during unwinding as they do not
set up CFI sections for their generated code. As a result any JITs
that do nominally support unwinding (and catching) through their JIT
or assembly frames trip this abort.

rdar://170862047
DeltaFile
+73-0libunwind/test/cfi_violating_handler.pass.cpp
+11-17libunwind/src/libunwind.cpp
+84-172 files

LLVM/project 5799a5dlldb/packages/Python/lldbsuite/test lldbtest.py decorators.py

[lldb/test] Add generic test variant infrastructure (#185145)

Add a generic `TestVariant` class and `_expand_test_variants` function
that can be used to create new test variant dimensions (similar to the
existing debug_info variant expansion).

Each TestVariant describes a dimension that multiplies test methods by
different configurations. The infrastructure handles method expansion,
xfail/skip decorator support, and setUp-time configuration.

This also generalizes `_xfailForDebugInfo`/`_skipForDebugInfo` into
`_xfailForVariant`/`_skipForVariant`, and changes the decorator's inner
fn() to accept **kwargs so variant values can be passed by name.

The `_test_variants` list is currently empty — downstream forks (i.e.
swift) can register their own variants without modifying the metaclass
logic.

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
DeltaFile
+215-39lldb/packages/Python/lldbsuite/test/lldbtest.py
+44-10lldb/packages/Python/lldbsuite/test/decorators.py
+259-492 files

LLVM/project 7472b4aclang/include/clang/Basic AttrDocs.td Attr.td, clang/lib/CodeGen CodeGenFunction.cpp

Basic,Sema: introduce `__attribute__((__personality__(...)))` (#185225)

This attribute allows specifying a custom personality routine for a
function, overriding the default emitted by Clang. The motivating use
case is the Swift concurrency runtime, where C/C++ runtime functions
need to act as barriers for exception propagation — the custom
personality ensures exceptions do not propagate through these frames
unchecked. More generally, this is useful whenever a language runtime is
implemented in a host language with different EH semantics. LLVM IR
already supports arbitrary personality functions on definitions; this
attribute simply exposes that capability to the C/C++ frontend.

Co-authored-by: Erich Keane <ekeane at nvidia.com>
DeltaFile
+80-0clang/test/CodeGen/attr-personality.c
+30-0clang/test/CodeGen/attr-personality-failures.c
+27-0clang/lib/Sema/SemaDeclAttr.cpp
+18-0clang/include/clang/Basic/AttrDocs.td
+9-0clang/lib/CodeGen/CodeGenFunction.cpp
+7-0clang/include/clang/Basic/Attr.td
+171-05 files not shown
+188-011 files

LLVM/project f2f5845llvm/lib/Target/WebAssembly WebAssemblyFastISel.cpp, llvm/test/CodeGen/WebAssembly load-ext.ll offset-fastisel.ll

[WebAssembly][FastISel] Fold AND mask operations into ZExt load (#183743)

FastISel emits separate load and AND instructions for bitmasking.
(before) %1:i32 = LOAD_I32 %addr; %2:i32 = AND_I32 %1, 255

Fold AND masks into ZExt loads by verifying operands with
maskTrailingOnes. A getFoldedLoadOpcode wrapper is implemented
to manage dispatching logic for better extensibility.
(after) %1:i32 = LOAD8_U_I32 %addr

Fixed: https://github.com/llvm/llvm-project/issues/180783
DeltaFile
+40-72llvm/test/CodeGen/WebAssembly/load-ext.ll
+64-3llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
+1-3llvm/test/CodeGen/WebAssembly/offset-fastisel.ll
+105-783 files

LLVM/project 3752a35llvm/test/CodeGen/AArch64 clmul-fixed.ll, llvm/test/CodeGen/PowerPC clmul-vector.ll

Merge branch 'fix-blockfreq-unroll-unconditional-latches--fast' into fix-blockfreq-unroll-unconditional-latches--uniform
DeltaFile
+54,752-7,425llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+18,872-3,329llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
+6,812-3,080llvm/test/CodeGen/AArch64/clmul-fixed.ll
+5,488-0llvm/test/CodeGen/X86/bit-manip-i512.ll
+2,338-2,209llvm/test/CodeGen/PowerPC/clmul-vector.ll
+1,561-2,812llvm/test/CodeGen/X86/wide-scalar-shift-by-byte-multiple-legalization.ll
+89,823-18,8553,075 files not shown
+208,349-63,4473,081 files

LLVM/project e950a80llvm/lib/Target/WebAssembly WebAssemblyISelLowering.cpp, llvm/test/CodeGen/WebAssembly simd-offset.ll

[WebAssembly] Look through freeze nodes when folding vector load + ext (#185143)

When folding loads with extensions, the extension operand can be a freeze node
in addition to a load. We can look through it to do the desirability check.

Fixes #184676
DeltaFile
+16-0llvm/test/CodeGen/WebAssembly/simd-offset.ll
+7-1llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
+23-12 files

LLVM/project 53a2fd9llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/test/CodeGen/X86 icmp-shift-opt.ll

[DAGCombiner] Combine (fshl A, B, S) | (fshr C, D, BW-S) --> (fshl (A|C), (B|D), S) (#180889)

This is similar to the FSHL/FSHR handling in
hoistLogicOpWithSameOpcodeHands.
Here the opcodes aren't exactly the same, but the operations are
equivalent.

Fixes regressions from #180888
DeltaFile
+8-12llvm/test/CodeGen/X86/icmp-shift-opt.ll
+18-0llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+26-122 files

LLVM/project c95450fllvm/test/CodeGen/AArch64 clmul-fixed.ll, llvm/test/CodeGen/PowerPC clmul-vector.ll

Merge branch 'fix-blockfreq-unroll-unconditional-latches' into fix-blockfreq-unroll-unconditional-latches--fast
DeltaFile
+54,752-7,425llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+18,872-3,329llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
+6,812-3,080llvm/test/CodeGen/AArch64/clmul-fixed.ll
+5,488-0llvm/test/CodeGen/X86/bit-manip-i512.ll
+2,338-2,209llvm/test/CodeGen/PowerPC/clmul-vector.ll
+1,561-2,812llvm/test/CodeGen/X86/wide-scalar-shift-by-byte-multiple-legalization.ll
+89,823-18,8553,075 files not shown
+208,349-63,4473,081 files

LLVM/project 482bb3dllvm/include/llvm/Transforms/Vectorize/SandboxVectorizer DependencyGraph.h, llvm/lib/Transforms/Vectorize/SandboxVectorizer DependencyGraph.cpp

[SandboxVec][DAG] Mark UnscheduledSuccs as invalid when vectorized (#185519)

When a DAG node gets scheduled, it's UnscheduledSuccs variable becomes
invalid. Up until now we had no way in the code of expressing this.

This patch converts UnscheduledSuccs to an std::optional in order to
protect its use when not valid.
DeltaFile
+24-10llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
+21-4llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
+3-3llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
+48-173 files

LLVM/project 86bf89aclang/test/AST/ByteCode builtin-functions.cpp, clang/test/Sema constant-builtins-2.c

[test] Add bit < 8 testcase for x86 __builtin_bswapg (#180124)

### Summary
the related PR: https://github.com/llvm/llvm-project/pull/179177, add
bits < 8 testcase for __builtin_bswapg
DeltaFile
+3-0clang/test/AST/ByteCode/builtin-functions.cpp
+2-0clang/test/Sema/constant-builtins-2.c
+2-0clang/test/SemaCXX/builtin-bswapg.cpp
+7-03 files

LLVM/project 2410418llvm/lib/Target/RISCV RISCVISelLowering.cpp

[RISCV] Refactor lowerBUILD_VECTOR splat opcode selection to avoid duplication. NFC. (#185573)

Hoist the common ANY_EXTEND, DAG.getNode, and convertFromScalableVector
calls out of the duplicated if/else branches. Use a single IsScalar bool
to select between VMV_S_X_VL/VFMV_S_F_VL and VMV_V_X_VL/VFMV_V_F_VL.
DeltaFile
+9-15llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+9-151 files

LLVM/project a3f2823compiler-rt/lib/builtins CMakeLists.txt, compiler-rt/lib/builtins/wasm __cpp_exception.S

[WebAssembly] Move __cpp_exception to libunwind (#185770)

The `__cpp_exception` symbol is now defined in libunwind instead of
compiler-rt. This is moved for a few reasons, but the primary reason is
that compiler-rt is linked duplicate-ly into all shared objects meaning
that it's not suitable for define-once symbols such as
`__cpp_exception`. By moving the definition to the user of the symbol,
libunwind itself, that guarantees that the symbol should be defined
exactly once and only when appropriate. A secondary reason for this
movement is that it avoids the need to compile compiler-rt twice: once
with exception and once without, and instead the same build can be used
for both exceptions-and-not.
DeltaFile
+0-26compiler-rt/lib/builtins/wasm/__cpp_exception.S
+15-0libunwind/src/Unwind-wasm.c
+0-1llvm/utils/gn/secondary/compiler-rt/lib/builtins/sources.gni
+0-1compiler-rt/lib/builtins/CMakeLists.txt
+15-284 files

LLVM/project 7ad5ff1cmake/Modules LLVMVersion.cmake, libcxx/include __config

Bump version to 22.1.2
DeltaFile
+1-1cmake/Modules/LLVMVersion.cmake
+1-1libcxx/include/__config
+1-1llvm/utils/gn/secondary/llvm/version.gni
+1-1llvm/utils/lit/lit/__init__.py
+1-1llvm/utils/mlgo-utils/mlgo/__init__.py
+5-55 files

LLVM/project 78beeb7clang/lib/Driver/ToolChains WebAssembly.cpp, clang/test/Driver wasm-toolchain.cpp

[WebAssembly] Clang support for exception-based lookup paths (#185775)

This commit is an attempt to make progress on WebAssembly/wasi-sdk#565
where with wasi-sdk I'd like to ship a single toolchain which is capable
of building binaries both with C++ exceptions and without. This means
that there can't be a single set of precompiled libraries that are used
because one set of libraries is wrong for the other mode. The support
added here is to use `-fwasm-exceptions` to automatically select a
lookup path in the sysroot. The intention is then that wasi-sdk will
ship both a "eh" set of C++ libraries as well as a "noeh" set of C++
libraries too. Clang will automatically select the correct one based on
compilation flags which means that the final distribution will be able
to build both binaries with exceptions and without.
DeltaFile
+35-16clang/lib/Driver/ToolChains/WebAssembly.cpp
+35-0clang/test/Driver/wasm-toolchain.cpp
+70-162 files

LLVM/project 757a0f8llvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp DAGCombiner.cpp, llvm/test/CodeGen/X86 nofpclass.ll

SelectionDAG: Use ISD::AssertNoFPClass for Load with nofpclass metadata (#184952)

1. Use ISD::AssertNoFPClass if LoadInst has !nofpclass metadata.
2. Strip ISD::AssertNoFPClass when try to combine load with bitcast
    in DAGCombiner::visitBITCAST.
DeltaFile
+55-0llvm/test/CodeGen/X86/nofpclass.ll
+12-0llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+2-0llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+69-03 files

LLVM/project f0ad981llvm/lib/MC MCLFIRewriter.cpp, llvm/lib/MC/MCParser LFIAsmParser.cpp

[NFC][MC] Style cleanup in MC-level LFI files (#185508)

Following
https://llvm.org/docs/CodingStandards.html#use-namespace-qualifiers-to-define-previously-declared-symbols
and https://llvm.org/docs/CodingStandards.html#restrict-visibility.
DeltaFile
+3-3llvm/lib/MC/MCParser/LFIAsmParser.cpp
+1-2llvm/lib/MC/MCLFIRewriter.cpp
+4-52 files

LLVM/project b84ea71clang/lib/Headers hexagon_types.h, clang/test/Headers hexagon-types-b0-conflict.c

[Hexagon] Fix B0 macro conflict between hexagon_types.h and termios.h (#184539)

POSIX termios.h defines `#define B0 0000000` for baud rate 0. This
conflicts with the B0() member functions in hexagon_types.h vector
classes, causing compilation failures when both headers are included.

Use #pragma push_macro/pop_macro to save, undefine, and restore B0
around the class definitions so the header is safe to use alongside
termios.h without losing the macro afterward.

Fixes #183815
DeltaFile
+23-20clang/lib/Headers/hexagon_types.h
+38-0clang/test/Headers/hexagon-types-b0-conflict.c
+61-202 files

LLVM/project b8fc15dllvm/test/CodeGen/AArch64 clmul-fixed.ll, llvm/test/CodeGen/PowerPC clmul-vector.ll

Merge branch 'fix-blockfreq-unroll-unconditional-latches--prep' into fix-blockfreq-unroll-unconditional-latches
DeltaFile
+54,752-7,425llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+18,872-3,329llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
+6,812-3,080llvm/test/CodeGen/AArch64/clmul-fixed.ll
+5,488-0llvm/test/CodeGen/X86/bit-manip-i512.ll
+2,338-2,209llvm/test/CodeGen/PowerPC/clmul-vector.ll
+1,561-2,812llvm/test/CodeGen/X86/wide-scalar-shift-by-byte-multiple-legalization.ll
+89,823-18,8553,075 files not shown
+208,349-63,4473,081 files

LLVM/project aa5767elibclc CMakeLists.txt, libclc/cmake/modules AddLibclc.cmake

[libclc][CMake] Add back OUTPUT_FILENAME and PARENT_TARGET (#185633)

They were droped in e20ae16ce672.
OUTPUT_FILENAME is helpful for customizing library name. PARENT_TARGET
could be helpful for customizing dependency control.
DeltaFile
+18-6libclc/cmake/modules/AddLibclc.cmake
+2-0libclc/CMakeLists.txt
+20-62 files

LLVM/project cf8833ellvm/lib/Target/BPF BPFMISimplifyPatchable.cpp, llvm/test/CodeGen/BPF/CORE offset-reloc-simplify-patchable-4.ll offset-reloc-simplify-patchable-5.ll

[BPF] Fix CORE optimization bug in BPFMISimplifyPatchable (#183446)

Commit ffd57408efd4 ("[BPF] Enable relocation location for
load/store/shifts") enabled CORE relocation for load/store/shirts. In
particular, the commit did optimization to have load/store/shift insn
itself having the relocation. For the load and store, the optimization
has the following:
  rX = *(rY + <relocation>) and *(rX + <relocation>) = rY

There is no value-range check for the above '<relocation>'. For example,
if the original `<relocation>` is 0x10006 due to a large struct, the
insn encoding of `<relocaiton>` will be truncated into '6' and incorrect
result will happen.

This patch fixed the issue by checking the value range of
'<relocation>'. If the `<relocation>` is more than INT16_MAX,
optimization will be skipped.

Even llvm side is fixed, libbpf side may still have issues with the

    [35 lines not shown]
DeltaFile
+123-0llvm/test/CodeGen/BPF/CORE/offset-reloc-simplify-patchable-4.ll
+123-0llvm/test/CodeGen/BPF/CORE/offset-reloc-simplify-patchable-5.ll
+22-3llvm/lib/Target/BPF/BPFMISimplifyPatchable.cpp
+268-33 files

LLVM/project 69a5eb9llvm/lib/Target/AMDGPU AMDGPUMCInstLower.cpp, llvm/lib/Target/AMDGPU/Utils AMDGPUBaseInfo.cpp AMDGPUBaseInfo.h

[AMDGPU] Add asm comments if setreg changes MSBs
DeltaFile
+45-0llvm/test/CodeGen/AMDGPU/vgpr-setreg-mode-swar.mir
+19-0llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
+13-5llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
+7-0llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
+2-1llvm/test/CodeGen/AMDGPU/code-size-estimate.ll
+86-65 files

LLVM/project d651403lldb/unittests/Platform PlatformDarwinTest.cpp

[lldb][test] PlatformDarwinTest.cpp: skip dSYM test on Windows

Fails on Windows with:
```
Script:
--
C:\buildbot\as-builder-10\lldb-x86-64\build\tools\lldb\unittests\Platform\.\LLDBPlatformTests.exe --gtest_filter=PlatformDarwinLocateTest.LocateExecutableScriptingResourcesFromDSYM_SpecialCharactersInModuleName_NoMatch
--
C:\buildbot\as-builder-10\lldb-x86-64\llvm-project\lldb\unittests\Platform\PlatformDarwinTest.cpp(466): error: Expected equality of these values:
  ss.GetString()
    Which is: "warning: the symbol file 'c:\\buildbot\\as-builder-10\\lldb-x86-64\\build\\lit-tmp-yi3ecv47\\locate-scripts-from-dsym-test-39be18\\.dSYM\\Contents\\Resources\\DWARF\\TestModule-1.1 1.o' contains a debug script. However, its name contains reserved characters and as such cannot be loaded. If you intend to have this script loaded, please rename 'c:/buildbot/as-builder-10/lldb-x86-64/build/lit-tmp-yi3ecv47/locate-scripts-from-dsym-test-39be18/.dSYM/Contents/Resources/DWARF/../Python/TestModule-1.1 1.py' to 'c:/buildbot/as-builder-10/lldb-x86-64/build/lit-tmp-yi3ecv47/locate-scripts-from-dsym-test-39be18/.dSYM/Contents/Resources/DWARF/../Python/TestModule_1_1_1.py' and retry.\n"
  expected
    Which is: "warning: the symbol file 'c:\\buildbot\\as-builder-10\\lldb-x86-64\\build\\lit-tmp-yi3ecv47\\locate-scripts-from-dsym-test-39be18\\.dSYM\\Contents\\Resources\\DWARF\\TestModule-1.1 1.o' contains a debug script. However, its name contains reserved characters and as such cannot be loaded. If you intend to have this script loaded, please rename 'c:\\buildbot\\as-builder-10\\lldb-x86-64\\build\\lit-tmp-yi3ecv47\\locate-scripts-from-dsym-test-39be18\\.dSYM\\Contents\\Resources\\DWARF/../Python/TestModule-1.1 1.py' to 'c:\\buildbot\\as-builder-10\\lldb-x86-64\\build\\lit-tmp-yi3ecv47\\locate-scripts-from-dsym-test-39be18\\.dSYM\\Contents\\Resources\\DWARF/../Python/TestModule_1_1_1.py' and retry.\n"
C:\buildbot\as-builder-10\lldb-x86-64\llvm-project\lldb\unittests\Platform\PlatformDarwinTest.cpp:466
Expected equality of these values:
  ss.GetString()
    Which is: "warning: the symbol file 'c:\\buildbot\\as-builder-10\\lldb-x86-64\\build\\lit-tmp-yi3ecv47\\locate-scripts-from-dsym-test-39be18\\.dSYM\\Contents\\Resources\\DWARF\\TestModule-1.1 1.o' contains a debug script. However, its name contains reserved characters and as such cannot be loaded. If you intend to have this script loaded, please rename 'c:/buildbot/as-builder-10/lldb-x86-64/build/lit-tmp-yi3ecv47/locate-scripts-from-dsym-test-39be18/.dSYM/Contents/Resources/DWARF/../Python/TestModule-1.1 1.py' to 'c:/buildbot/as-builder-10/lldb-x86-64/build/lit-tmp-yi3ecv47/locate-scripts-from-dsym-test-39be18/.dSYM/Contents/Resources/DWARF/../Python/TestModule_1_1_1.py' and retry.\n"
  expected
    Which is: "warning: the symbol file 'c:\\buildbot\\as-builder-10\\lldb-x86-64\\build\\lit-tmp-yi3ecv47\\locate-scripts-from-dsym-test-39be18\\.dSYM\\Contents\\Resources\\DWARF\\TestModule-1.1 1.o' contains a debug script. However, its name contains reserved characters and as such cannot be loaded. If you intend to have this script loaded, please rename 'c:\\buildbot\\as-builder-10\\lldb-x86-64\\build\\lit-tmp-yi3ecv47\\locate-scripts-from-dsym-test-39be18\\.dSYM\\Contents\\Resources\\DWARF/../Python/TestModule-1.1 1.py' to 'c:\\buildbot\\as-builder-10\\lldb-x86-64\\build\\lit-tmp-yi3ecv47\\locate-scripts-from-dsym-test-39be18\\.dSYM\\Contents\\Resources\\DWARF/../Python/TestModule_1_1_1.py' and retry.\n"

    [3 lines not shown]
DeltaFile
+3-0lldb/unittests/Platform/PlatformDarwinTest.cpp
+3-01 files

LLVM/project 10644a1libclc libclc.pc.in CMakeLists.txt

[libclc] Remove unused and incorrect pkgconf file (#185654)

Summary:
All this file does is pass `-L` to an incorrect location. These files
are installed as part of the resource directory which is always included
anyway, so I think this is vestigial and can be removed.
DeltaFile
+0-6libclc/libclc.pc.in
+0-4libclc/CMakeLists.txt
+0-102 files

LLVM/project e55bb9ellvm/lib/Transforms/InstCombine InstCombineAndOrXor.cpp, llvm/test/Transforms/InstCombine and2.ll

[InstCombine][profcheck] Set unknown branch weights when folding booleans (#185769)

In cases where two logical operations are folded into one, InstCombine
first folds one of the logical operations into an binary operation,
losing the profile information. Ordinarily, we could've used that
information to compute the branch weight information of the new
instruction, but since we don't have the original weights, we say the
new instruction has unknown branch weights.

Tracking issue: #147390
DeltaFile
+18-6llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
+13-5llvm/test/Transforms/InstCombine/and2.ll
+0-3llvm/utils/profcheck-xfail.txt
+31-143 files

LLVM/project 7ee9583clang/lib/CodeGen CGHLSLRuntime.cpp, clang/lib/Sema SemaHLSL.cpp

[HLSL] Ignore complex types that do not contribute to cbuffer layout (#184276)

Detect arrays of empty structs and similar constructs in constant buffers. Ignore them if they do not contribute to `cbuffer` layout

Fixes #183788
DeltaFile
+82-17clang/lib/Sema/SemaHLSL.cpp
+61-0clang/test/CodeGenHLSL/resources/cbuffer-empty-struct-array.hlsl
+4-4clang/test/AST/HLSL/ast-dump-SpirvType.hlsl
+0-6clang/lib/CodeGen/CGHLSLRuntime.cpp
+1-1clang/test/AST/HLSL/pch_spirv_type.hlsl
+148-285 files

LLVM/project 4911812llvm/lib/Target/AMDGPU AMDGPUMCInstLower.cpp, llvm/lib/Target/AMDGPU/Utils AMDGPUBaseInfo.cpp AMDGPUBaseInfo.h

[AMDGPU] Add asm comments if setreg changes MSBs
DeltaFile
+45-0llvm/test/CodeGen/AMDGPU/vgpr-setreg-mode-swar.mir
+19-0llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
+12-5llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
+7-0llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
+2-1llvm/test/CodeGen/AMDGPU/code-size-estimate.ll
+85-65 files

LLVM/project b02ef5aclang/include/clang/Analysis/Scalable/Serialization SerializationFormat.h, clang/lib/Analysis/Scalable/Serialization/JSONFormat JSONFormatImpl.cpp

[clang][ssaf] Add ssaf-format to validate and convert summaries

This PR introduces the `ssaf-format` command-line tool, which validates
and converts translation-unit (TU) and link-unit (LU) summaries between
registered serialization formats in the SSAF framework. After the
serialization format registry and the JSON format were introduced, there
was no standalone tool to inspect, validate, or convert summary files
outside of a full compilation pipeline. `ssaf-format` fills that gap: it
serves as both a format validator (read without writing) and a format
converter (read then write to a different format or path).
DeltaFile
+483-0clang/tools/ssaf-format/SSAFFormat.cpp
+14-0clang/tools/ssaf-format/CMakeLists.txt
+9-0clang/test/Analysis/Scalable/ssaf-format/list.test
+7-0clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
+6-0clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
+6-0clang/lib/Analysis/Scalable/Serialization/JSONFormat/JSONFormatImpl.cpp
+525-05 files not shown
+537-011 files

LLVM/project f35042aflang/lib/Optimizer/OpenACC/Support FIROpenACCOpsInterfaces.cpp RegisterOpenACCExtensions.cpp, flang/test/Transforms/OpenACC offload-target-verifier.fir

[flang][openacc] Attach IndirectGlobalAccessModel to fir.use_stmt (#185767)

In some cases, `fir.use_stmt` operation can end up in offload region
like in acc routine for example. Make sure we can validate the symbols
associated with the `fir.use_stmt` operation.
DeltaFile
+34-0flang/test/Transforms/OpenACC/offload-target-verifier.fir
+17-0flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
+2-0flang/lib/Optimizer/OpenACC/Support/RegisterOpenACCExtensions.cpp
+53-03 files

LLVM/project 8d0c686clang/lib/Headers/hlsl hlsl_alias_intrinsics.h, clang/lib/Sema SemaHLSL.cpp

[HLSL][DXIL][SPIRV] Added WaveActiveBitOr HLSL intrinsic (#165156)

Adds the WaveActiveBitOr intrinsic from issue #99167. This intrinsic
required a bit more work than the last intrinsics that I have done.

There are some peculiarities, which I verified with dxcompiler:
- WaveActiveBitOr only works on uint and uint64_t, no other types are
allowed
- There is no 16 bit version of WaveActiveBitOr

Followed the checklist:
- [x] Implement WaveActiveBitOr clang builtin,
- [x] Link WaveActiveBitOr clang builtin with hlsl_intrinsics.h
- [x] Add sema checks for WaveActiveBitOr to
CheckHLSLBuiltinFunctionCall in SemaChecking.cpp
- [x] Add codegen for WaveActiveBitOr to EmitHLSLBuiltinExpr in
CGBuiltin.cpp
- [x] Add codegen tests to
clang/test/CodeGenHLSL/builtins/WaveActiveBitOr.hlsl

    [15 lines not shown]
DeltaFile
+82-0clang/test/CodeGenHLSL/builtins/WaveActiveBitOr.hlsl
+34-0clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
+32-0llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveBitOr.ll
+27-0clang/lib/Sema/SemaHLSL.cpp
+23-0clang/test/SemaHLSL/BuiltIns/WaveActiveBitOr-errors.hlsl
+22-0llvm/lib/Target/DirectX/DXIL.td
+220-010 files not shown
+284-216 files

LLVM/project 12fcde1clang/lib/CodeGen CGExpr.cpp, clang/test/CodeGenHLSL/resources CBufferMatrixSingleSubscriptSwizzle.hlsl

[Matrix] Copy Row data from padded cbuffer offsets before swizzle (#185346)

fixes https://github.com/llvm/llvm-project/issues/184849

The fix is just to copy the data before a swizzle can happen
DeltaFile
+28-0clang/test/CodeGenHLSL/resources/CBufferMatrixSingleSubscriptSwizzle.hlsl
+10-3clang/lib/CodeGen/CGExpr.cpp
+38-32 files