LLVM/project ddbb970clang/lib/CIR/CodeGen CIRGenBuiltinRISCV.cpp, clang/test/CIR/CodeGenBuiltins/RISCV riscv-zknh.c

[CIR][RISCV] Support zknh builtin codegen (#196013)

Support sha256sig0, sha256sig1, sha256sum0, sha256sum1 builtins.
DeltaFile
+46-0clang/test/CIR/CodeGenBuiltins/RISCV/riscv-zknh.c
+16-4clang/lib/CIR/CodeGen/CIRGenBuiltinRISCV.cpp
+62-42 files

LLVM/project ed70ce5lldb/cmake/modules AddLLDB.cmake

[lldb][CMake] Force OBJECT libraries to also be STATIC (#196222)

When add_lldb_library is called with OBJECT, llvm_add_library would also
produce a SHARED variant under BUILD_SHARED_LIBS=ON. That variant fails
to link because a5a13ca29186 intentionally moved lldbDAP's LINK_LIBS to
its consumers.

Pass STATIC alongside OBJECT so the secondary variant is always an
archive, matching the LLVMTableGenCommon pattern. Fixes
BUILD_SHARED_LIBS=ON breakage reported on #196108.
DeltaFile
+5-1lldb/cmake/modules/AddLLDB.cmake
+5-11 files

LLVM/project abba0bbclang/lib/Basic TargetInfo.cpp, clang/test/CodeGen inline-asm-constraint-embedded-null.c

[clang] Stop simplifyConstraint at embedded NUL
DeltaFile
+8-0clang/test/CodeGen/inline-asm-constraint-embedded-null.c
+3-0clang/lib/Basic/TargetInfo.cpp
+11-02 files

LLVM/project ca12a1aclang/lib/CIR/CodeGen CIRGenFunction.cpp CIRGenExprScalar.cpp, clang/test/CIR/CodeGenCUDA cuda-builtin-vars.cu

[CIR][CUDA] builtin vars (#195539)

Implement emitPseudoObjectRValue and fix VisitPseudoObjectExpr in the
scalar emitter to call it instead of errorNYI.
Part of  https://github.com/llvm/llvm-project/issues/179278
DeltaFile
+72-0clang/test/CIR/CodeGenCUDA/cuda-builtin-vars.cu
+7-7clang/lib/CIR/CodeGen/CIRGenFunction.cpp
+1-2clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
+2-0clang/lib/CIR/CodeGen/CIRGenFunction.h
+82-94 files

LLVM/project c0faa30llvm/runtimes CMakeLists.txt

[Runtimes] Pass through per-runtime CMake options for target runtimes (#194105)

Fix warning:
Manually-specified variables were not used by the project:
LIBCLC_USE_SPIRV_BACKEND.

LIBCLC was already passed through in `-DLLVM_ENABLE_RUNTIMES=libclc` case.
This PR adds to runtime_register_target for `-DRUNTIMES_triple-_LLVM_ENABLE_RUNTIMES=` case.
DeltaFile
+3-0llvm/runtimes/CMakeLists.txt
+3-01 files

LLVM/project cddafd9clang/unittests/libclang/CrashTests LibclangCrashTest.cpp

[clang][test] Make libclang CrashTests use threadsafe gtest death-test style (#196148)
DeltaFile
+10-0clang/unittests/libclang/CrashTests/LibclangCrashTest.cpp
+10-01 files

LLVM/project 7d68c1eclang/tools/clang-sycl-linker ClangSYCLLinker.cpp, mlir/lib/Dialect/AMDGPU/Transforms FoldMemRefsOps.cpp

Merge branch 'main' into users/el-ev/issue-rust-156168
DeltaFile
+60-0mlir/test/mlir-reduce/reduction-tree/reduction-tree.mlir
+0-60mlir/test/mlir-reduce/reduction-tree.mlir
+50-0mlir/test/Dialect/AMDGPU/amdgpu-fold-memrefs.mlir
+25-25clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
+40-0mlir/lib/Dialect/AMDGPU/Transforms/FoldMemRefsOps.cpp
+24-0mlir/test/lib/Dialect/Test/TestOpDefs.cpp
+199-8520 files not shown
+308-15326 files

LLVM/project eb52248llvm/lib/Target/X86/AsmParser X86AsmParser.cpp, llvm/test/CodeGen/X86 inline-asm-intel-negated-scaled-index.ll

[X86][AsmParser] Reject negated scaled-index in Intel-syntax memory operands
DeltaFile
+26-0llvm/test/CodeGen/X86/inline-asm-intel-negated-scaled-index.ll
+18-0llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
+6-0llvm/test/MC/X86/intel-syntax-invalid-scale.s
+50-03 files

LLVM/project fe52a6cmlir/lib/Dialect/AMDGPU/Transforms FoldMemRefsOps.cpp, mlir/test/Dialect/AMDGPU amdgpu-fold-memrefs.mlir

[AMDGPU][MLIR] Add FoldMemRefOpsIntoGlobalLoadAsyncToLDSOp (#195982)

Add folders for memref aliases for gfx1250 global async to lds.

Assisted by: cursor

Signed-off-by: Eric Feng <Eric.Feng at amd.com>
DeltaFile
+50-0mlir/test/Dialect/AMDGPU/amdgpu-fold-memrefs.mlir
+40-0mlir/lib/Dialect/AMDGPU/Transforms/FoldMemRefsOps.cpp
+90-02 files

LLVM/project b07aeecmlir/lib/Dialect/Arith/Transforms IntRangeOptimizations.cpp, mlir/test/Dialect/Arith int-range-opts-crash.mlir

[MLIR][IntRange] Materialize known constant values only when the value type is integer-like (#196133)

This patch came out of
https://discourse.llvm.org/t/request-for-advice-in-updating-intrange-optimziations/90685

In short, my out-of-tree dialect has region-bearing operations whose
return-like terminators semantically wrap an integer type in a
non-integer type when returning to the parent for control flow (also
this dialect that has no constant materializer). In this case,
`MaterializeKnownConstantValues` will attempt to construct integer
attributes using those non-integer types, which causes a stack trace and
prevents us from using int range optimizations on IR that contains these
ops.

This patch adds guards to the materialization step, so that if the value
that is inferred to be constant is not an integer (or shaped container
with an integer element type), no materialization is attempted.
DeltaFile
+24-0mlir/test/lib/Dialect/Test/TestOpDefs.cpp
+13-0mlir/test/Dialect/Arith/int-range-opts-crash.mlir
+11-1mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
+11-0mlir/test/lib/Dialect/Test/TestOps.td
+59-14 files

LLVM/project 03c7594clang/lib/Driver/ToolChains SPIRV.cpp, clang/test/Driver sycl-link-spirv-target.cpp

[Driver] Forward -v to clang-sycl-linker in SPIRV toolchain (#196213)

The SPIRV linker job construction was not forwarding the -v (verbose)
flag to clang-sycl-linker when --sycl-link is used. This is limited to
the --sycl-link path because the default linker spir-link doesn't
support -v flag.
DeltaFile
+6-0clang/test/Driver/sycl-link-spirv-target.cpp
+2-0clang/lib/Driver/ToolChains/SPIRV.cpp
+8-02 files

LLVM/project 38bda74mlir/test/mlir-reduce reduction-tree.mlir simple-test.mlir, mlir/test/mlir-reduce/reduction-tree reduction-tree.mlir simple-test.mlir

[mlir][reduce] Separate scripts and tests into distinct directories (#196005)

This PR reorganizes the mlir-reduce component by separating reduction
scripts and their corresponding test cases into dedicated directories.
Part of https://github.com/llvm/llvm-project/pull/195997.
DeltaFile
+0-60mlir/test/mlir-reduce/reduction-tree.mlir
+60-0mlir/test/mlir-reduce/reduction-tree/reduction-tree.mlir
+0-19mlir/test/mlir-reduce/simple-test.mlir
+19-0mlir/test/mlir-reduce/reduction-tree/simple-test.mlir
+0-16mlir/test/mlir-reduce/failure-test.sh
+16-0mlir/test/mlir-reduce/script/failure-test.sh
+95-9510 files not shown
+126-12616 files

LLVM/project 6e601bcllvm/unittests/DWARFLinkerParallel CMakeLists.txt

[UnitTests] Remove duplicated libs. NFC (#196215)
DeltaFile
+0-1llvm/unittests/DWARFLinkerParallel/CMakeLists.txt
+0-11 files

LLVM/project 5cc7259clang/tools/clang-sycl-linker ClangSYCLLinker.cpp

[clang-sycl-linker][NFC] Improve clang-sycl-linker verbose output (#196212)

Print in-process operation messages (sycl-device-link, LLVM backend)
before execution rather than after, matching the behavior of
clang-linker-wrapper.
DeltaFile
+25-25clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
+25-251 files

LLVM/project 82b2aebllvm/lib/Target/WebAssembly WebAssemblyInstrRef.td, llvm/lib/Target/WebAssembly/AsmParser WebAssemblyAsmParser.cpp WebAssemblyAsmTypeCheck.cpp

[WebAssembly] Add typed select (select t*, 0x1c) (#195953)

Add MC-layer support for the typed select instruction from the
reference-types proposal:

- New OPERAND_VALTYPE_LIST operand kind (ULEB count followed by N
single-byte valtypes), stored in the MCInst as count + N immediates.
- SELECT_T at 0x1c in WebAssemblyInstrRef.td, gated on
HasReferenceTypes.
- Plumbing through the disassembler, printer, encoder, asm parser, and
type checker.
- Encoding, disassembly, and type-checker error tests, covering
zero-length and multi-value vecs.

ISel continues to select the numeric SELECT_<type> variants at 0x1b. My
motivation is unblocking LLDB, which uses LLVM's disassembler. We got a
report that these instructions show up as <unknown> in LLDB.

rdar://170659547
DeltaFile
+79-0llvm/test/MC/WebAssembly/typed-select.s
+45-1llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
+45-0llvm/test/MC/Disassembler/WebAssembly/typed-select.txt
+22-0llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
+21-0llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
+17-0llvm/lib/Target/WebAssembly/WebAssemblyInstrRef.td
+229-15 files not shown
+274-111 files

LLVM/project 2a1d2a1llvm/include/llvm/Support JSON.h

Revert "[ASan][JSON] Unpoison memory before its reuse" (#196203)

Reverts llvm/llvm-project#79065

This is no longer necessary now that we have gotten rid of ASan short
string annotations in libc++.
DeltaFile
+1-14llvm/include/llvm/Support/JSON.h
+1-141 files

LLVM/project f7077c3llvm/include/llvm/ADT FunctionExtras.h

Revert "[ASan][ADT] Don't scribble with ASan" (#196201)

Reverts llvm/llvm-project#79066

This is no longer necessary now that we have gotten rid of ASan short
string annotations in libc++ (#194208).
DeltaFile
+2-5llvm/include/llvm/ADT/FunctionExtras.h
+2-51 files

LLVM/project c1c557blldb/bindings/lua CMakeLists.txt, lldb/bindings/python CMakeLists.txt

[lldb] Support dynamically loading ScriptInterpreter plugins (#189718)

Add support for building the script interpreter plugins as shared
libraries, controlled by the `LLDB_ENABLE_DYNAMIC_SCRIPTINTERPRETERS`
CMake variable. This allows the plugins, rather than `liblldb`, to link
against their respective dependencies such as Python and Lua, which has
several benefits:

1. It makes it possible to gracefully handle the Python or Lua
dependencies not being present, instead of crashing.
2. It enables programmatically deciding which Python or Lua library to
load.
3. Combined with (2), this opens up a path towards not statically
linking with Python at all, which is required in order to load the LLDB
module in a different Python interpreter (at least this is a hard
requirement on Darwin due to two-level namespaces and install names).

This PR completes #183791
DeltaFile
+49-13lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
+33-5lldb/source/Plugins/ScriptInterpreter/Lua/CMakeLists.txt
+11-3lldb/bindings/python/CMakeLists.txt
+11-3lldb/bindings/lua/CMakeLists.txt
+7-5lldb/source/API/CMakeLists.txt
+7-1lldb/unittests/ScriptInterpreter/Python/CMakeLists.txt
+118-302 files not shown
+130-318 files

LLVM/project 3a49e45clang/include/clang/Basic DiagnosticSemaKinds.td, clang/lib/Sema SemaType.cpp

[OpenCL] Add warning for reserved 'long long' type (#196002)

'long long' is a reserved data type in all versions of OpenCL C.

Relates to https://github.com/intel/intel-graphics-compiler/issues/405
DeltaFile
+10-4clang/lib/Sema/SemaType.cpp
+12-0clang/test/SemaOpenCL/longlong.cl
+3-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+1-1clang/test/SemaOpenCL/fdeclare-opencl-builtins.cl
+1-1clang/test/Misc/languageOptsOpenCL.cl
+0-1clang/test/SemaSPIRV/BuiltIns/subgroup-errors.c
+27-76 files

LLVM/project f1d39dbclang/lib/Headers __clang_cuda_runtime_wrapper.h

[Clang][NVPTX] fix `no member named 'this_cluster'` (#187039)

Fixes #184754

Adds a macro based on which `this_cluster` function is defined.
DeltaFile
+4-0clang/lib/Headers/__clang_cuda_runtime_wrapper.h
+4-01 files

LLVM/project 017a0e7llvm/lib/Target/AMDGPU SIInstructions.td, llvm/test/CodeGen/AMDGPU packed-fp32.ll

[AMDGPU] Add fcanonicalize + fneg selection pattern for v2f32 (#196188)
DeltaFile
+4-4llvm/test/CodeGen/AMDGPU/packed-fp32.ll
+6-1llvm/lib/Target/AMDGPU/SIInstructions.td
+10-52 files

LLVM/project 3bd61c6llvm/include/llvm/Support JSON.h

formatting
DeltaFile
+2-2llvm/include/llvm/Support/JSON.h
+2-21 files

LLVM/project 90f7145utils/bazel/llvm-project-overlay/lldb BUILD.bazel

[Bazel] Fixes 7e74c78 (#196197)

This fixes 7e74c78ea342c0a7dda249c054085e824b77016e.

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
DeltaFile
+1-0utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
+1-01 files

LLVM/project ad7d6fcllvm/include/llvm/Support JSON.h

Revert "[ASan][JSON] Unpoison memory before its reuse (#79065)"

This reverts commit c416b2efe89c11db593fe8041c366e0cb63d4eeb.
DeltaFile
+1-14llvm/include/llvm/Support/JSON.h
+1-141 files

LLVM/project f5efc08lldb/source/Commands Options.td

Make it clear that log enable's output file is per channel not per category (#196178)

It is natural to try:

```
log enable -f file1 lldb step
log enable -f file2 lldb process

```
or whatever, and then be surprised that all the logs end up in
`file2`... The help on `log enable`'s `-f` option didn't specify what
you were setting the file for. This PR just changes the help text to be
clear about the current state of things.
DeltaFile
+2-1lldb/source/Commands/Options.td
+2-11 files

LLVM/project 637bd86llvm/include/llvm/ADT FunctionExtras.h

Revert "[ASan][ADT] Don't scribble with ASan (#79066)"

This reverts commit 51a11f1c44b7bd7655687471d8c8912afb637efc.
DeltaFile
+2-5llvm/include/llvm/ADT/FunctionExtras.h
+2-51 files

LLVM/project 1d2a123lldb/source/Commands CommandObjectCommands.cpp CommandObjectTarget.cpp, lldb/source/Expression Materializer.cpp

[lldb] Fix misconstructed FromErrorStringWithFormatv format strings (#196189)

Fix mistakes in `FromErrorStringWithFormatv` format strings. Uses
https://github.com/llvm/llvm-project/pull/195974

---------

Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
DeltaFile
+2-3lldb/source/Commands/CommandObjectCommands.cpp
+2-2lldb/source/Expression/Materializer.cpp
+1-1lldb/source/Commands/CommandObjectTarget.cpp
+5-63 files

LLVM/project 623dc4dclang/lib/CodeGen CodeGenModule.cpp CodeGenModule.h, clang/test/CodeGenSYCL sycl-module-id.cpp kernel-caller-entry-point.cpp

[clang][SYCL] Emit "sycl-module-id" function attribute (#195965)

Attach the "sycl-module-id" LLVM function attribute to SYCL device
functions that are candidates for entry points in device-code splitting.
The attribute value is the module identifier (translation unit name),
which clang-sycl-linker uses to group kernels by translation unit when
splitting device code.

The attribute is emitted at two sites:

1. SYCL kernel caller functions (spir_kernel) are synthesized by
EmitSYCLKernelCaller and do not go through EmitFunction, so the
attribute is set directly after SetSYCLKernelAttributes.

2. sycl_external function definitions go through
SetLLVMFunctionAttributesForDefinition; the attribute is added there
when SYCLIsDevice and SYCLExternalAttr are present.

Both sites call the new CodeGenModule::addSYCLModuleIdAttr helper.

Co-authored-by: Claude
DeltaFile
+27-0clang/test/CodeGenSYCL/sycl-module-id.cpp
+13-0clang/lib/CodeGen/CodeGenModule.cpp
+7-0clang/lib/CodeGen/CodeGenModule.h
+3-3clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
+1-0clang/lib/CodeGen/CodeGenSYCL.cpp
+51-35 files

LLVM/project db86c25llvm/docs CodingStandards.rst

add rule for nested statements
DeltaFile
+18-11llvm/docs/CodingStandards.rst
+18-111 files

LLVM/project 41c3779llvm/lib/Target/AMDGPU/AsmParser AMDGPUAsmParser.cpp, llvm/test/MC/AMDGPU gfx1250_asm_vop3_err.s

[AMDGPU] Validate forced lit64() on VOP3 instructions (#196171)

Lit64 cannot be used with VOP3* but we did not validate it
in case it can be encoded as lit32, but forced with the
operand modifier.
DeltaFile
+23-8llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+5-0llvm/test/MC/AMDGPU/gfx1250_asm_vop3_err.s
+28-82 files