LLVM/project 216b9fallvm/test/Transforms/SLPVectorizer/X86 multi-node-user-with-copyable-ops.ll

[SLP][NFC]Add another test with the user with multiple copyable operands, NFC
DeltaFile
+52-0llvm/test/Transforms/SLPVectorizer/X86/multi-node-user-with-copyable-ops.ll
+52-01 files

LLVM/project d5778a7libcxx/include mutex semaphore, libcxx/include/__thread thread.h

[libc++] Applied `[[nodiscard]]` to concurrency (partially) (#169463)

`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.

- https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant

The following utilities have been annotated in this patch:

- [x] `<barrier>`
- [x] `<condition_variable>`
- [x] `<latch>`
- [x] `<mutex>`
- [x] `<semaphore>`
- [x] `<thread>`

N.B. Some classes don't provide all specified methods, which were not
annotated.
DeltaFile
+144-0libcxx/test/libcxx/thread/nodiscard.verify.cpp
+0-29libcxx/test/std/thread/thread.jthread/nodiscard.verify.cpp
+11-10libcxx/include/mutex
+4-4libcxx/include/semaphore
+4-4libcxx/include/__thread/thread.h
+4-2libcxx/include/latch
+167-493 files not shown
+173-539 files

LLVM/project 98efdcblibc/include stdio.yaml, libc/src/stdio vsnprintf_modular.cpp CMakeLists.txt

Modularize vsnprintf
DeltaFile
+53-0libc/src/stdio/vsnprintf_modular.cpp
+6-1libc/src/stdio/CMakeLists.txt
+5-0libc/src/stdio/vsnprintf.cpp
+2-0libc/include/stdio.yaml
+2-0libc/src/stdio/vsnprintf.h
+68-15 files

LLVM/project 860aaddlibc/include stdio.yaml CMakeLists.txt, libc/include/llvm-libc-macros CMakeLists.txt _LIBC_MODULAR_FORMAT_PRINTF.h

Add attribute to printf
DeltaFile
+21-1libc/include/llvm-libc-macros/CMakeLists.txt
+15-0libc/include/llvm-libc-macros/_LIBC_MODULAR_FORMAT_PRINTF.h
+14-0libc/include/llvm-libc-macros/_LIBC_MODULAR_FORMAT_PRINTF-disable.h
+2-0libc/include/stdio.yaml
+1-0libc/include/CMakeLists.txt
+53-15 files

LLVM/project de55c10libc/utils/hdrgen/hdrgen header.py, libc/utils/hdrgen/tests/expected_output test_header.h test_small.json

Allow function-style attribute macros
DeltaFile
+2-1libc/utils/hdrgen/tests/expected_output/test_header.h
+1-1libc/utils/hdrgen/hdrgen/header.py
+1-0libc/utils/hdrgen/tests/input/merge1.yaml
+1-0libc/utils/hdrgen/tests/expected_output/test_small.json
+5-24 files

LLVM/project 854b903libc/src/stdio/baremetal printf_modular.cpp, libc/src/stdio/printf_core parser.h float_impl.cpp

[libc] Modular printf option (float only)

This adds LIBC_CONF_PRINTF_MODULAR, which causes floating point support
(later, others) to be weakly linked into the implementation.
__printf_modular becomes the main entry point of the implementaiton, an
printf itself wraps __printf_modular. printf it also contains a
BFD_RELOC_NONE relocation to bring in the float aspect.

See issue #146159 for context.
DeltaFile
+44-13libc/src/stdio/printf_core/parser.h
+56-0libc/src/stdio/printf_core/float_impl.cpp
+55-0libc/src/stdio/baremetal/printf_modular.cpp
+14-4libc/src/stdio/printf_core/vfprintf_internal.h
+13-3libc/src/stdio/printf_core/printf_main.h
+13-0libc/src/stdio/printf_core/float_dec_converter.h
+195-2011 files not shown
+251-2217 files

LLVM/project 5b5b3b4libc/include stdio.yaml, libc/src/stdio vsprintf_modular.cpp CMakeLists.txt

Modularize vsprintf
DeltaFile
+51-0libc/src/stdio/vsprintf_modular.cpp
+6-1libc/src/stdio/CMakeLists.txt
+5-0libc/src/stdio/vsprintf.cpp
+2-0libc/src/stdio/vsprintf.h
+2-0libc/include/stdio.yaml
+66-15 files

LLVM/project d2c0b0dlibc/include stdio.yaml, libc/src/stdio asprintf_modular.cpp CMakeLists.txt

Modularize asprintf
DeltaFile
+43-0libc/src/stdio/asprintf_modular.cpp
+5-1libc/src/stdio/CMakeLists.txt
+4-1libc/src/stdio/printf_core/vasprintf_internal.h
+5-0libc/src/stdio/asprintf.cpp
+2-0libc/include/stdio.yaml
+1-0libc/src/stdio/asprintf.h
+60-26 files

LLVM/project 1f6d163libc/include stdio.yaml, libc/src/stdio vprintf.h

Modularize baremetal vprintf
DeltaFile
+67-0libc/src/stdio/baremetal/vprintf_modular.cpp
+5-1libc/src/stdio/baremetal/CMakeLists.txt
+5-0libc/src/stdio/baremetal/vprintf.cpp
+2-0libc/include/stdio.yaml
+1-0libc/src/stdio/vprintf.h
+80-15 files

LLVM/project 98c6aedlibc/include stdio.yaml, libc/src/stdio vasprintf_modular.cpp CMakeLists.txt

Modularize vasprintf
DeltaFile
+38-0libc/src/stdio/vasprintf_modular.cpp
+6-1libc/src/stdio/CMakeLists.txt
+5-0libc/src/stdio/vasprintf.cpp
+2-0libc/include/stdio.yaml
+2-0libc/src/stdio/vasprintf.h
+53-15 files

LLVM/project 6e4b47alibc/include stdio.yaml, libc/src/stdio sprintf_modular.cpp CMakeLists.txt

Modularize sprintf
DeltaFile
+55-0libc/src/stdio/sprintf_modular.cpp
+6-1libc/src/stdio/CMakeLists.txt
+5-0libc/src/stdio/sprintf.cpp
+2-0libc/src/stdio/sprintf.h
+2-0libc/include/stdio.yaml
+70-15 files

LLVM/project 41e84a7libc/include stdio.yaml, libc/src/stdio snprintf_modular.cpp CMakeLists.txt

Modularize snprintf
DeltaFile
+56-0libc/src/stdio/snprintf_modular.cpp
+5-1libc/src/stdio/CMakeLists.txt
+5-0libc/src/stdio/snprintf.cpp
+2-0libc/include/stdio.yaml
+2-0libc/src/stdio/snprintf.h
+70-15 files

LLVM/project 3d596adclang/test/Driver hip-spirv-backend-opt.c

[clang][Driver] Use -no-canonical-prefixes in hip-spirv-backend-opt test (#169717)

Otherwise the test can fail in weirder setups (like ours downstream
where the actual binary path only contains the hash of the object). This
makes the test more resilient, more consistent with other driver tests,
and allows us to assert that the binary is named clang rather than
clang-<some suffix>.
DeltaFile
+14-14clang/test/Driver/hip-spirv-backend-opt.c
+14-141 files

LLVM/project 9871d70mlir/include/mlir/Dialect/OpenACC OpenACC.h, mlir/include/mlir/Dialect/OpenACC/Transforms Passes.td

[mlir][acc] Introduce ACCImplicitDeclare pass for globals handling (#169720)

This commit introduces the ACCImplicitDeclare pass to the OpenACC
dialect, complementing ACCImplicitData by handling global variables
referenced in OpenACC compute regions and routines.

Overview:
---------
The pass applies implicit `acc declare` actions to global variables
referenced in OpenACC regions. While the OpenACC spec focuses on
implicit data mapping (handled by ACCImplicitData), implicit declare is
advantageous and required for specific cases:

1. Globals referenced in implicit `acc routine` - Since data mapping
only applies to compute regions, globals in routines must use `acc
declare`.

2. Compiler-generated globals - Type descriptors, runtime names, and
error reporting strings introduced during compilation that wouldn't be

    [30 lines not shown]
DeltaFile
+429-0mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitDeclare.cpp
+175-0mlir/test/Dialect/OpenACC/acc-implicit-declare.mlir
+28-0mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td
+5-0mlir/include/mlir/Dialect/OpenACC/OpenACC.h
+1-0mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
+638-05 files

LLVM/project 4845424llvm/lib/Target/SPIRV SPIRVGlobalRegistry.cpp

[SPIRV] Fix a warning

This patch fixes:

  llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp:245:25: error: unused
  variable 'TII' [-Werror,-Wunused-variable]
DeltaFile
+1-1llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
+1-11 files

LLVM/project 7bcd815llvm/lib/Target/SystemZ SystemZInstrInfo.h

Join the 2 enums
DeltaFile
+3-6llvm/lib/Target/SystemZ/SystemZInstrInfo.h
+3-61 files

LLVM/project 47efff7llvm/lib/Target/SystemZ SystemZAsmPrinter.cpp, llvm/test/CodeGen/SystemZ zos-ppa1-argarea.ll

[SystemZ] Emit optional argument area length field (#169679)

The Language Environment (LE) reserves 128 byte for the argument area
when the optional field is not present. If the argument area is larger,
then the field must be present to guarantee that the space is reserved
on stack extension. Creating this field when alloca() is used may reduce
the needed stack space in case alloca() causes a stack extension.
DeltaFile
+66-0llvm/test/CodeGen/SystemZ/zos-ppa1-argarea.ll
+29-3llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
+95-32 files

LLVM/project 8e4208fflang-rt/lib/cuda allocator.cpp, flang-rt/unittests/Runtime/CUDA Allocatable.cpp

[flang][cuda][rt] Add entry point to get the allocation stream (#169608)

DeltaFile
+51-0flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
+9-2flang-rt/lib/cuda/allocator.cpp
+3-0flang/include/flang/Runtime/CUDA/allocator.h
+63-23 files

LLVM/project 75ca835utils/bazel/llvm-project-overlay/mlir BUILD.bazel

[bazel] Fix build after #169086 (#169725)

Just required wiring up some additional AMDGPU table generated files.
DeltaFile
+6-0utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+6-01 files

LLVM/project 109050cruntimes CMakeLists.txt, runtimes/cmake/Modules HandleFortran.cmake

Integrate HandleFortran again
DeltaFile
+89-1runtimes/CMakeLists.txt
+0-88runtimes/cmake/Modules/HandleFortran.cmake
+89-892 files

LLVM/project a33fd44clang/lib/Driver/ToolChains Linux.cpp, compiler-rt/cmake/Modules AllSupportedArchDefs.cmake

Revert "[tysan] Type Sanitizer support for SystemZ" (#169726)

Reverts llvm/llvm-project#162396
DeltaFile
+0-6compiler-rt/lib/tysan/tysan_platform.h
+1-1compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
+1-1clang/lib/Driver/ToolChains/Linux.cpp
+2-83 files

LLVM/project d2379efllvm/include/llvm/IR Constants.h, llvm/lib/AsmParser LLParser.cpp

Add deactivation symbol operand to ConstantPtrAuth.

Deactivation symbol operands are supported in the code generator by
building on the previously added support for IRELATIVE relocations.

Reviewers: ojhunt, fmayer, ahmedbougacha, nikic, efriedma-quic

Reviewed By: fmayer

Pull Request: https://github.com/llvm/llvm-project/pull/133537
DeltaFile
+51-11llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
+21-8llvm/lib/AsmParser/LLParser.cpp
+20-1llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+14-4llvm/lib/IR/Constants.cpp
+17-0llvm/test/CodeGen/AArch64/ptrauth-irelative.ll
+9-4llvm/include/llvm/IR/Constants.h
+132-2818 files not shown
+218-4824 files

LLVM/project 6227eb9llvm/include/llvm/CodeGen MachineInstr.h, llvm/lib/CodeGen MachineInstr.cpp

Add IR and codegen support for deactivation symbols.

Deactivation symbols are a mechanism for allowing object files to disable
specific instructions in other object files at link time. The initial use
case is for pointer field protection.

For more information, see the RFC:
https://discourse.llvm.org/t/rfc-deactivation-symbols/85556

Reviewers: ojhunt, nikic, fmayer, arsenm, ahmedbougacha

Reviewed By: fmayer

Pull Request: https://github.com/llvm/llvm-project/pull/133536
DeltaFile
+73-0llvm/test/CodeGen/AArch64/deactivation-symbols.ll
+52-17llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
+31-12llvm/lib/CodeGen/MachineInstr.cpp
+31-9llvm/include/llvm/CodeGen/MachineInstr.h
+23-10llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
+28-0llvm/test/Transforms/InstCombine/ptrauth-intrinsics.ll
+238-4834 files not shown
+441-6740 files

LLVM/project c378bb1llvm/lib/Target/AArch64 AArch64AsmPrinter.cpp, llvm/test/CodeGen/AArch64 ptrauth-irelative.ll ptrauth-type-info-vptr-discr.ll

CodeGen: Optionally emit PAuth relocations as IRELATIVE relocations.

This supports the following use cases:
- ConstantPtrAuth expressions that are unrepresentable using standard PAuth
  relocations such as expressions involving an integer operand or
  deactivation symbols.
- libc implementations that do not support PAuth relocations.

For more information see the RFC:
https://discourse.llvm.org/t/rfc-structure-protection-a-family-of-uaf-mitigation-techniques/85555

Reviewers: MaskRay, fmayer, smithp35, kovdan01

Reviewed By: fmayer

Pull Request: https://github.com/llvm/llvm-project/pull/133533
DeltaFile
+203-15llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
+78-0llvm/test/CodeGen/AArch64/ptrauth-irelative.ll
+1-1llvm/test/CodeGen/AArch64/ptrauth-type-info-vptr-discr.ll
+282-163 files

LLVM/project 3a25a4aclang/docs ClangFormatStyleOptions.rst, clang/include/clang/Format Format.h

[clang-format] Add xxxMaxDigitsNoSeparator (#164286)

This basically adds a Leave option for a specific range of literals.
DeltaFile
+68-12clang/include/clang/Format/Format.h
+61-9clang/docs/ClangFormatStyleOptions.rst
+26-9clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
+30-0clang/unittests/Format/ConfigParseTest.cpp
+22-5clang/unittests/Format/IntegerLiteralSeparatorTest.cpp
+13-8clang/lib/Format/Format.cpp
+220-431 files not shown
+223-437 files

LLVM/project 8706d82libcxx/include initializer_list, libcxx/include/__compare is_eq.h

[libc++] Applied `[[nodiscard]]` to Language Support (partially) (#169611)

https://wg21.link/#support

`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.

- https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant

The following was implemented in this patch:

- [x] `<compare>`
- [x] `<corotine>`
- [x] `<initializer_list>`
- [x] Integer comparisons

---------

Co-authored-by: Hristo Hristov <zingam at outlook.com>
Co-authored-by: A. Jiang <de34 at live.cn>
DeltaFile
+91-0libcxx/test/libcxx/language.support/nodiscard.verify.cpp
+22-6libcxx/test/libcxx/diagnostics/utility.nodiscard.verify.cpp
+9-9libcxx/include/__coroutine/coroutine_handle.h
+7-7libcxx/include/__utility/cmp.h
+9-3libcxx/include/initializer_list
+6-6libcxx/include/__compare/is_eq.h
+144-311 files not shown
+150-357 files

LLVM/project bbb8f7alibcxx/include/__flat_map flat_map.h utils.h, libcxx/test/libcxx/diagnostics flat_map.nodiscard.verify.cpp

[libc++][flat_map] Applied `[[nodiscard]]` (#169453)

`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.

- https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant
DeltaFile
+55-46libcxx/include/__flat_map/flat_map.h
+96-4libcxx/test/libcxx/diagnostics/flat_map.nodiscard.verify.cpp
+1-1libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_transparent.pass.cpp
+1-0libcxx/include/__flat_map/utils.h
+153-514 files

LLVM/project cec837ellvm/test/CodeGen/X86 addcarry.ll

[X86] addcarry.ll - add test coverage for #169691 (#169716)

DeltaFile
+38-0llvm/test/CodeGen/X86/addcarry.ll
+38-01 files

LLVM/project f8eca64llvm/test/Transforms/LoopVectorize first-order-recurrence-tail-folding.ll use-scalar-epilogue-if-tp-fails.ll, llvm/test/Transforms/LoopVectorize/RISCV uniform-load-store.ll divrem.ll

Reapply "[LV] Use ExtractLane(LastActiveLane, V) live outs when tail-folding. (#149042)"

This reverts commit a6edeedbfa308876d6f2b1648729d52970bb07e6.

The following fixes have landed, addressing issues causing the original
revert:
* https://github.com/llvm/llvm-project/pull/169298
* https://github.com/llvm/llvm-project/pull/167897
* https://github.com/llvm/llvm-project/pull/168949

Original message:
Building on top of https://github.com/llvm/llvm-project/pull/148817,
introduce a new abstract LastActiveLane opcode that gets lowered to
Not(Mask) → FirstActiveLane(NotMask) → Sub(result, 1).

When folding the tail, update all extracts for uses outside the loop the
extract the value of the last actice lane.

See also https://github.com/llvm/llvm-project/issues/148603

    [2 lines not shown]
DeltaFile
+757-111llvm/test/Transforms/LoopVectorize/first-order-recurrence-tail-folding.ll
+179-44llvm/test/Transforms/LoopVectorize/use-scalar-epilogue-if-tp-fails.ll
+141-66llvm/test/Transforms/LoopVectorize/optsize.ll
+57-69llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
+39-62llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
+42-44llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
+1,215-39617 files not shown
+1,720-61423 files

LLVM/project cabcb5aclang/lib/CIR/CodeGen CIRGenFunction.cpp

[CIR][NFC] Fix build problem inside an assert (#169715)

A recent change introduced a failure in debug builds due to an incorrect
level of indirection inside an assert. This fixes that.
DeltaFile
+1-1clang/lib/CIR/CodeGen/CIRGenFunction.cpp
+1-11 files