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 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 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 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

LLVM/project 9d65b65clang/lib/Headers/hlsl hlsl_intrinsics.h hlsl_alias_intrinsics.h, clang/test/CodeGenHLSL/builtins mul.hlsl

[HLSL][Matrix] Add `half` type overloads to `mul` and exercise them (#185506)

PR #184882 was missing `half` type-specific overloads for `mul`. 
This PR introduces `half` type-specific overloads for `mul` and
additional codegen tests for the half type.
Also added f16 tests for the lowering of llvm.matrix.multiply.

The offload test suite already has a `mul.fp16` test for exercising half
types at runtime, so no change is needed there.

Assisted-by: claude-opus-4.6
DeltaFile
+79-0llvm/test/CodeGen/DirectX/matrix-multiply.ll
+58-2clang/test/CodeGenHLSL/builtins/mul.hlsl
+41-2clang/lib/Headers/hlsl/hlsl_intrinsics.h
+15-0clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
+1-1clang/test/SemaHLSL/BuiltIns/mul-errors.hlsl
+194-55 files

LLVM/project 048106bclang/lib/Headers/hlsl hlsl_alias_intrinsics.h

[HLSL] Fix intrinsics header file 16 bit attribute macro to use version 6.2 (#185757)

There have been a couple builtins declared in a header file that specify
16 bit availability for shader model 6.0.
This is incorrect, it should be 6.2.
This bug was propagated for many of the waveops, and should be
corrected.

Fixes https://github.com/llvm/llvm-project/issues/185756
DeltaFile
+32-32clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
+32-321 files

LLVM/project a4244bcllvm/test/CodeGen/X86 sdiv_fix_sat.ll scmp.ll

[LegalizeTypes] Emit FSHL/FSHR from ExpandShiftByConstant when Legal. (#180888)

This avoids needing to combine the SHL/SHR/OR pattern later.
    
This improves code quality on RISC-V where our slx/srx instructions
clobber the destination register but we don't have an immediate form.
We can't recover the original direction from the SHL/SHR/OR pattern
and we can't commute it during the TwoAddressInstruction pass like X86
due to the shift amount being in a register.
DeltaFile
+198-202llvm/test/CodeGen/X86/sdiv_fix_sat.ll
+200-185llvm/test/CodeGen/X86/scmp.ll
+172-173llvm/test/CodeGen/X86/pr43820.ll
+55-53llvm/test/CodeGen/X86/fold-tied-op.ll
+54-52llvm/test/CodeGen/X86/shift-i256.ll
+44-62llvm/test/CodeGen/X86/vector-sext.ll
+723-72723 files not shown
+1,094-1,10429 files

LLVM/project ffdf216clang/docs ReleaseNotes.rst, clang/include/clang/Analysis/Analyses UnsafeBufferUsage.h

Revert "[Clang][UnsafeBufferUsage] Warn about two-arg string_view constructors. (#180471)" (#185692)

This reverts commit 75b2ea57d5f4a5ae0de1b3ca1ca7eec464811b45.
Makes clang assert, see:
https://github.com/llvm/llvm-project/pull/180471#issuecomment-4033081814
DeltaFile
+0-131clang/lib/Analysis/UnsafeBufferUsage.cpp
+0-44clang/test/SemaCXX/warn-unsafe-buffer-usage-string-view.cpp
+3-33clang/lib/Sema/AnalysisBasedWarnings.cpp
+1-5clang/include/clang/Basic/DiagnosticSemaKinds.td
+0-4clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
+0-3clang/docs/ReleaseNotes.rst
+4-2202 files not shown
+4-2238 files

LLVM/project a585f45lldb/test/API/functionalities/data-formatter/data-formatter-objc TestDataFormatterObjCNSDate.py

[lldb] Make date test handle host-target time difference (#185759)

It seems there may be a formatter bug when there's a time zone
difference between the target machine being debugged, and the host the
debugger is running on.
DeltaFile
+2-1lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSDate.py
+2-11 files