LLVM/project bd7a6bfclang-tools-extra/docs ReleaseNotes.rst

[clang-tidy][NFC] fixed invalid formatting in 'ReleaseNotes.rst' (#148352)

DeltaFile
+2-2clang-tools-extra/docs/ReleaseNotes.rst
+2-21 files

LLVM/project bab09c2mlir/lib/Transforms/Utils DialectConversion.cpp

[mlir][Transforms][NFC] Dialect Conversion: Earlier `isIgnored` check
DeltaFile
+20-12mlir/lib/Transforms/Utils/DialectConversion.cpp
+20-121 files

LLVM/project ba36ea5mlir/lib/Transforms/Utils DialectConversion.cpp

[mlir][Transforms][NFC] Dialect Conversion: Earlier `isIgnored` check
DeltaFile
+10-9mlir/lib/Transforms/Utils/DialectConversion.cpp
+10-91 files

LLVM/project 4326f68clang-tools-extra/clang-tidy/utils Matchers.h, clang/include/clang/ASTMatchers ASTMatchersInternal.h ASTMatchersMacros.h

[ASTMatchers][NFC] Replace `makeMatcher` function with CTAD (#147197)

C++17's CTAD obsoletes `makeMatcher` (and many `make*` functions like
it).

The deduction guide is written out explicitly to avoid
`-Wctad-maybe-unsupported` warnings.
DeltaFile
+6-2clang/include/clang/ASTMatchers/ASTMatchersInternal.h
+4-4clang/include/clang/ASTMatchers/ASTMatchersMacros.h
+2-2clang-tools-extra/clang-tidy/utils/Matchers.h
+2-2clang/lib/Tooling/Transformer/RewriteRule.cpp
+14-104 files

LLVM/project 409723bmlir/lib/Conversion/ControlFlowToLLVM ControlFlowToLLVM.cpp

[mlir][cf] Do not access erased operation in `cf.cond_br` lowering
DeltaFile
+7-10mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
+7-101 files

LLVM/project 647c063mlir/lib/Conversion/SCFToControlFlow SCFToControlFlow.cpp

[mlir][SCF] Do not access erased op in `scf.while` lowering
DeltaFile
+5-3mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
+5-31 files

LLVM/project b717568llvm/lib/Target/AArch64 AArch64FrameLowering.cpp, llvm/test/CodeGen/AArch64 sign-return-address.ll

[AArch64] Fix the emission of WinCFI for pac-ret+leaf and SCS (#147518)

This commit fixes WinCFI opcodes being incorrectly emitted for test
cases in sign-return-address.ll.

Emit SEH_Nop opcode in emitShadowCallStackEpilogue the same way it is
done in emitShadowCallStackPrologue function - this fixes

    12 bytes of instructions in range, but .seh directives corresponding to 8 bytes

error being reported for the epilogue of non_leaf_scs function.

Emit SEH_PrologEnd on the code path in emitPrologue function that may be
taken when pac-ret protection is emitted for a leaf function - this
fixes errors like the following:

    starting epilogue (.seh_startepilogue) before prologue has ended (.seh_endprologue) in leaf_sign_all_v83
    Stray .seh_endepilogue in leaf_sign_all_v83
DeltaFile
+739-265llvm/test/CodeGen/AArch64/sign-return-address.ll
+23-9llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
+762-2742 files

LLVM/project 53afbdemlir/lib/Conversion/MemRefToLLVM MemRefToLLVM.cpp

[mlir][memref] Do not access erased op in `memref.global` lowering
DeltaFile
+14-18mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
+14-181 files

LLVM/project 007fc77llvm/test/CodeGen/MLRegAlloc dev-mode-extra-features-logging.ll

[mlgo] Fix test post - #147716 (#148259)

DeltaFile
+1-1llvm/test/CodeGen/MLRegAlloc/dev-mode-extra-features-logging.ll
+1-11 files

LLVM/project 0db197allvm/test/CodeGen/AArch64 llvm.frexp.ll fsincos.ll, llvm/test/CodeGen/PowerPC llvm.frexp.ll

[Test] Mark a number of libcall tests `nounwind` (#148329)

Many tests for floating point libcalls include CFI directives, which
isn't needed for the purpose of these tests. Mark some of the relevant
test functions `nounwind` in order to remove this noise.
DeltaFile
+94-394llvm/test/CodeGen/AArch64/llvm.frexp.ll
+145-339llvm/test/CodeGen/AArch64/fsincos.ll
+24-82llvm/test/CodeGen/AArch64/llvm.sincos.ll
+27-60llvm/test/CodeGen/PowerPC/llvm.frexp.ll
+7-73llvm/test/CodeGen/X86/ldexp.ll
+13-63llvm/test/CodeGen/SystemZ/fp-half-libcall.ll
+310-1,01115 files not shown
+389-1,21121 files

LLVM/project 00bdacbmlir/lib/Conversion/ControlFlowToLLVM ControlFlowToLLVM.cpp, mlir/lib/Conversion/MemRefToLLVM MemRefToLLVM.cpp

erase immediately
DeltaFile
+54-14mlir/lib/Transforms/Utils/DialectConversion.cpp
+16-17mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
+8-4mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
+2-1mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
+80-364 files

LLVM/project c1b5808mlir/lib/Transforms/Utils DialectConversion.cpp, mlir/test/Conversion/FuncToLLVM calling-convention.mlir

update
DeltaFile
+0-276mlir/test/Conversion/FuncToLLVM/calling-convention.mlir
+19-3mlir/lib/Transforms/Utils/DialectConversion.cpp
+19-2792 files

LLVM/project 1b52f5dmlir/lib/Transforms/Utils DialectConversion.cpp, mlir/test/Integration/Dialect/MemRef load-runtime-verification.mlir store-runtime-verification.mlir

WIP
DeltaFile
+287-41mlir/lib/Transforms/Utils/DialectConversion.cpp
+1-1mlir/test/Integration/Dialect/MemRef/load-runtime-verification.mlir
+1-1mlir/test/Integration/Dialect/MemRef/store-runtime-verification.mlir
+1-1mlir/test/Integration/Dialect/MemRef/subview-runtime-verification.mlir
+1-1mlir/test/Integration/Dialect/Tensor/cast-runtime-verification.mlir
+1-1mlir/test/Integration/Dialect/Tensor/dim-runtime-verification.mlir
+292-469 files not shown
+301-5415 files

LLVM/project f2e244fllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/llvm BUILD.gn

[gn build] Port 2f4a804e6eb5
DeltaFile
+1-0llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/llvm/BUILD.gn
+1-01 files

LLVM/project d2ad63allvm/lib/Support/BLAKE3 blake3_avx512_x86-64_unix.S blake3_avx512.c

[Support/BLAKE3] Make g_cpu_features thread safe (#147948)

`g_cpu_features` can be updated multiple times by `get_cpu_features()`,
which reports a thread sanitizer error when used with multiple lld
threads.

This PR updates BLAKE3 to v1.8.2.
DeltaFile
+2,241-0llvm/lib/Support/BLAKE3/blake3_avx512_x86-64_unix.S
+192-11llvm/lib/Support/BLAKE3/blake3_avx512.c
+83-47llvm/lib/Support/BLAKE3/blake3.c
+63-7llvm/lib/Support/BLAKE3/blake3_dispatch.c
+50-8llvm/lib/Support/BLAKE3/blake3_impl.h
+23-9llvm/lib/Support/BLAKE3/blake3_neon.c
+2,652-829 files not shown
+2,661-9115 files

LLVM/project f6c927eclang/docs ReleaseNotes.rst, clang/include/clang/Basic DiagnosticSemaKinds.td

[Clang] Improve diagnostics for 'placement new' with const storage argument (#144270)

Before this patch, the following code gave misleading diagnostics about
absence of `#include <new>`:
```cpp
#include <new>

struct X { int n; };
int foo() {
  const X cx = {5};
  // error: no matching 'operator new' function for non-allocating placement new expression; include <new>
  (void)new(&cx) X{10};
};
```
Now it gives correct diagnostics about constness of passed argument:
```cpp
#include <new>

struct X { int n; };

    [11 lines not shown]
DeltaFile
+41-0clang/test/SemaCXX/new-delete.cpp
+11-1clang/lib/Sema/SemaExprCXX.cpp
+3-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+3-0clang/docs/ReleaseNotes.rst
+58-14 files

LLVM/project 2f4a804clang-tools-extra/clang-tidy/llvm PreferStaticOverAnonymousNamespaceCheck.cpp PreferStaticOverAnonymousNamespaceCheck.h, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Add new check `llvm-prefer-static-over-anonymous-namespace` (#142839)

Finds function and variable declarations inside anonymous namespace and
suggests replacing them with ``static`` declarations.

The check will enforce that
[restrict-visibility](https://llvm.org/docs/CodingStandards.html#restrict-visibility)
rule in LLVM Coding Standards is followed correctly (by adding `static`
to functions instead of putting them in anonimous namespace).

The check has additional levels of "strictness" represented by Options.
By default, the check works in the most relaxed way by giving warning
only for methods and functions defined in anonymous namespaces. Also, It
finds `static` functions that are placed inside anonymous namespace -
there is no point in keeping them inside.
DeltaFile
+201-0clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-static-over-anonymous-namespace.cpp
+100-0clang-tools-extra/clang-tidy/llvm/PreferStaticOverAnonymousNamespaceCheck.cpp
+73-0clang-tools-extra/docs/clang-tidy/checks/llvm/prefer-static-over-anonymous-namespace.rst
+42-0clang-tools-extra/clang-tidy/llvm/PreferStaticOverAnonymousNamespaceCheck.h
+6-0clang-tools-extra/docs/ReleaseNotes.rst
+3-0clang-tools-extra/clang-tidy/llvm/LLVMTidyModule.cpp
+425-02 files not shown
+427-08 files

LLVM/project 593fd44clang/lib/Driver SanitizerArgs.cpp, clang/test/Driver sanitizer-ld.c

[clang] Don't pass sanitizers' rtlibs to linker with `-r` (#147905)

If clang is invoked with `-r` (relocatable linking) then we shouldn't
construct sanitizer arguments and then pass sanitizer runtime libs to
the linker
GCC also skips runtime linking if `-r` is also here
DeltaFile
+24-0clang/test/Driver/sanitizer-ld.c
+3-3clang/lib/Driver/SanitizerArgs.cpp
+27-32 files

LLVM/project cc9b5c3llvm/lib/Target/RISCV RISCVFeatures.td

[RISCV] Remove unused Predicates. NFC
DeltaFile
+0-2llvm/lib/Target/RISCV/RISCVFeatures.td
+0-21 files

LLVM/project 390fbe6llvm/lib/Target/RISCV RISCVInstrInfoXqci.td RISCVFeatures.td

[RISCV] Use Predicates instead of Added Complexity to prefer QC_SELECTEQI over QC_MVEQI. NFC (#148312)

IMHO AddedComplexity should be used as a last resort. We should use
other mechanism like Predicates and PatFrag predicates to give priority.
DeltaFile
+6-6llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
+2-0llvm/lib/Target/RISCV/RISCVFeatures.td
+8-62 files

LLVM/project d1e3ab9llvm/lib/Target/AMDGPU GCNSubtarget.h SIInstrInfo.cpp, llvm/test/CodeGen/AMDGPU copy_phys_vgpr64.mir global-load-xcnt.ll

[AMDGPU] Use v_mov_b64 in codegen on gfx1250 (#148272)

DeltaFile
+103-0llvm/test/CodeGen/AMDGPU/copy_phys_vgpr64.mir
+45-52llvm/test/CodeGen/AMDGPU/global-load-xcnt.ll
+18-9llvm/test/CodeGen/AMDGPU/v_mov_b64_expansion.mir
+1-1llvm/lib/Target/AMDGPU/GCNSubtarget.h
+1-1llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+168-635 files

LLVM/project d0a0a1allvm/lib/Target/RISCV RISCVInstrInfoXqci.td

[RISCV] Remove unneeded AddedComplexity from Xqcibi patterns. NFCI (#148301)

We don't have any tests that show why this AddedComplexity is needed.
ImmLeafs are automatically ranked higher than register operands so there
is no ambgiuity with the base ISA here.
DeltaFile
+2-2llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
+2-21 files

LLVM/project 22b21f3clang/include/clang/Basic Features.def, clang/test/Lexer has_feature_undefined_behavior_sanitizer.cpp

Reapply "[clang] [ubsan] add __has_feature for UBSan checks" (#148322) (#148323)

This reverts commit 102c15ad28d3c312ea8926c85dbf907ca0d07b84.
DeltaFile
+169-3clang/test/Lexer/has_feature_undefined_behavior_sanitizer.cpp
+41-0clang/include/clang/Basic/Features.def
+210-32 files

LLVM/project 395643elibc/shared/math frexpf16.h, libc/src/__support/math frexpf16.h CMakeLists.txt

[libc][math] Refactor frexpf16 implementation to header-only in src/__support/math folder. (#147889)

Part of #147386

in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
DeltaFile
+34-0libc/src/__support/math/frexpf16.h
+29-0libc/shared/math/frexpf16.h
+17-1utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+10-0libc/src/__support/math/CMakeLists.txt
+3-4libc/src/math/generic/frexpf16.cpp
+1-2libc/src/math/generic/CMakeLists.txt
+94-71 files not shown
+95-77 files

LLVM/project c3abe3flibc/src/math tanpif.h, libc/src/math/generic tanpif.cpp

[libc][math][c23] implement C23 math function `tanpif` (#147192)

The smoke test and exhaustive test pass on x86_64 Linux.

Closes #94895.
DeltaFile
+106-0libc/src/math/generic/tanpif.cpp
+91-0libc/test/src/math/tanpif_test.cpp
+36-0libc/test/src/math/smoke/tanpif_test.cpp
+33-0libc/test/src/math/exhaustive/tanpif_test.cpp
+20-0libc/src/math/tanpif.h
+16-0libc/test/src/math/exhaustive/CMakeLists.txt
+302-012 files not shown
+358-118 files

LLVM/project 265fb36clang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/CodeGen CIRGenBuiltin.cpp

[CIR] Add bit reverse and byte reverse operations (#147200)

This patch adds support for the following two builtin functions:

- `__builtin_bswap`, represented by the `cir.byte_swap` operation.
- `__builtin_bitreverse`, represented by the `cir.bit.reverse`
operation.
DeltaFile
+91-0clang/test/CIR/CodeGen/builtin_bit.cpp
+39-0clang/include/clang/CIR/Dialect/IR/CIROps.td
+25-11clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
+20-0clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
+16-0clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+191-115 files

LLVM/project 31279c1bolt/include/bolt/Core MCPlusBuilder.h, bolt/include/bolt/Profile DataAggregator.h

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.4

[skip ci]
DeltaFile
+77-18bolt/lib/Profile/DataAggregator.cpp
+42-1bolt/include/bolt/Profile/DataAggregator.h
+11-0bolt/include/bolt/Core/MCPlusBuilder.h
+130-193 files

LLVM/project ab05423bolt/include/bolt/Core MCPlusBuilder.h, bolt/include/bolt/Profile DataAggregator.h

[𝘀𝗽𝗿] initial version

Created using spr 1.3.4
DeltaFile
+77-18bolt/lib/Profile/DataAggregator.cpp
+42-1bolt/include/bolt/Profile/DataAggregator.h
+11-0bolt/include/bolt/Core/MCPlusBuilder.h
+5-0bolt/lib/Core/MCPlusBuilder.cpp
+135-194 files

LLVM/project d02c85alibc/shared/math frexpf128.h, libc/src/__support/FPUtil ManipulationFunctions.h

[libc] Fix frexpf128 build failure. (#148332)

DeltaFile
+1-1libc/src/__support/FPUtil/ManipulationFunctions.h
+1-0libc/shared/math/frexpf128.h
+2-12 files

LLVM/project 1d57587llvm/lib/Target/X86/MCTargetDesc X86ATTInstPrinter.cpp X86InstPrinterCommon.cpp, llvm/test/CodeGen/X86 dollar-name.ll dollar-name-asm.ll

X86: Support dollar symbol for AT&T syntax and add output-asm-variant to llc

'$' indicates immediate values in AT&T syntax, so symbol names starting
with '$' need to be quoted or wrapped in parentheses. Parentheses are
preferred to support expressions with relocation specifiers without
modifying MCExpr internals, aligning with GCC (https://gcc.gnu.org/PR91298).

Add `-output-asm-variant` to llc for testing Intel syntax, avoiding
`-x86-asm-syntax` which affects MCAsmInfo used by input assembly
(-x86-asm-syntax=intel doesn't work with AT&T module asm)

Note: In these positions the symbol name cannot be quoted: `$var:`
`.globl $var` `.type $var, @object`

Close #147587

Pull Request: https://github.com/llvm/llvm-project/pull/147876
DeltaFile
+67-12llvm/test/CodeGen/X86/dollar-name.ll
+18-2llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
+7-0llvm/test/CodeGen/X86/dollar-name-asm.ll
+5-1llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
+6-0llvm/tools/llc/llc.cpp
+2-0llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.h
+105-151 files not shown
+106-157 files