LLVM/project c2ff8f4flang-rt CMakeLists.txt

Remove default-disable on GPGPU
DeltaFile
+1-9flang-rt/CMakeLists.txt
+1-91 files

LLVM/project 7d7cd74libc/shared/math atanbf16.h, libc/src/__support/math atanbf16.h

[libc][math][c23] Add atanbf16 function (#184019)

This PR intends to add atanbf16 higher math function for BFloat16 type
along with the tests.
DeltaFile
+105-0libc/src/__support/math/atanbf16.h
+56-0libc/test/src/math/atanbf16_test.cpp
+44-0libc/test/src/math/smoke/atanbf16_test.cpp
+26-0libc/shared/math/atanbf16.h
+21-0libc/src/math/atanbf16.h
+20-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+272-022 files not shown
+360-228 files

LLVM/project 49ebf38flang/lib/Semantics openmp-utils.cpp

Fix message for absent LOOPRANGE
DeltaFile
+1-1flang/lib/Semantics/openmp-utils.cpp
+1-11 files

LLVM/project 82eee26clang/bindings/python/clang cindex.py

[libclang/python] Fix Type.get_offset annotation (#187841)

As discussed in
https://github.com/llvm/llvm-project/pull/180876#discussion_r2934372753,
`Type.get_offset` can process `bytes` arguments as well. For consistency
with other functions taking `str` arguments, its type annotation is
adapted to reflect this.
DeltaFile
+1-1clang/bindings/python/clang/cindex.py
+1-11 files

LLVM/project 573bbefllvm/lib/Frontend/OpenMP OMPIRBuilder.cpp

[OpenMP][flang] Fix crash in host offload

Guard `getGridValue` in `OMPIRBuilder` to avoid reaching the
`unreachable` in `getGridValue` when offloading to host device without
an explicit num_threads clause.

Reproducer (`-fopenmp -fopenmp-targets=x86_64-unknown-linux-gnu`):
```
program test
  implicit none

  !$omp target
  !$omp end target
end program test
```

(Note: the linker still fails, but that's another issue.)
DeltaFile
+13-3llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+13-31 files

LLVM/project dac1c43flang-rt CMakeLists.txt, flang-rt/lib CMakeLists.txt

Support building no library
DeltaFile
+29-23flang-rt/lib/runtime/CMakeLists.txt
+21-12flang-rt/CMakeLists.txt
+10-5flang-rt/lib/CMakeLists.txt
+60-403 files

LLVM/project 4d058ae

[lldb] Fix LLVMSupportHTTP linkage against libLLVM (#187848)

Regression introduced in 39d6bb21804d21abe2fa0ec019919d72104827ac.

Signed-off-by: Michał Górny <mgorny at gentoo.org>
DeltaFile
+0-00 files

LLVM/project 849038aflang-rt CMakeLists.txt, flang-rt/lib CMakeLists.txt

Support building no library
DeltaFile
+26-23flang-rt/lib/runtime/CMakeLists.txt
+21-12flang-rt/CMakeLists.txt
+10-5flang-rt/lib/CMakeLists.txt
+57-403 files

LLVM/project efdb981flang/include/flang/Semantics openmp-utils.h, flang/lib/Semantics openmp-utils.cpp check-omp-loop.cpp

[flang][OpenMP] Provide reasons for calculated sequence length

If the length was limited by some factor, include the reason for what
caused the reduction.

Issue: https://github.com/llvm/llvm-project/issues/185287
DeltaFile
+33-22flang/lib/Semantics/openmp-utils.cpp
+9-7flang/lib/Semantics/check-omp-loop.cpp
+5-5flang/include/flang/Semantics/openmp-utils.h
+2-0flang/test/Semantics/OpenMP/loop-transformation-construct04.f90
+1-0flang/test/Semantics/OpenMP/loop-transformation-construct02.f90
+1-0flang/test/Semantics/OpenMP/fuse1.f90
+51-346 files

LLVM/project 6162403llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/RISCV split-vectorize-parent-for-copyables.ll

[SLP]Do not consider copyable node with SplitVectorize parent

If the copyables are schedulable and the parent node is plit vectorize,
need to skip the scheduling analysis for such nodes to avoid a compiler
crash
DeltaFile
+53-0llvm/test/Transforms/SLPVectorizer/RISCV/split-vectorize-parent-for-copyables.ll
+10-0llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+63-02 files

LLVM/project f5de28fclang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/Dialect/IR CIRDialect.cpp

[CIR] Add RecursiveMemoryEffects to region-bearing ops

Add the RecursiveMemoryEffects trait to cir.if, cir.case, loop ops
(cir.while/cir.do/cir.for), cir.ternary, cir.await,
cir.array.ctor, cir.array.dtor, and cir.try. Without this trait,
MLIR conservatively assumes unknown memory effects for ops with
regions, preventing DCE of ops whose bodies are provably pure.

Also fix a crash in ConditionOp::getSuccessorRegions where the
missing early return after the loop-op case would fall through to
cast<AwaitOp>(...), which asserts when the parent is a loop rather
than an await op.

Add tests verifying that region ops with pure bodies are eliminated
and ops with stores or calls are preserved, including two-level nested
propagation (cir.if inside cir.while).
DeltaFile
+304-0clang/test/CIR/Transforms/recursive-memory-effects.cir
+10-8clang/include/clang/CIR/Dialect/IR/CIROps.td
+1-0clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+315-83 files

LLVM/project acf9eedllvm/include/llvm/Object BBAddrMap.h

[Object] Fix issues in BBAddrMap.h (#187704)
DeltaFile
+6-9llvm/include/llvm/Object/BBAddrMap.h
+6-91 files

LLVM/project 656fce8clang/bindings/python/clang cindex.py, clang/bindings/python/tests/cindex test_version.py

[libclang/python] export libclang version to the bindings (#86931)

It's useful to know which clang library the python bindings are running.

---------

Co-authored-by: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
DeltaFile
+11-0clang/bindings/python/tests/cindex/test_version.py
+6-0clang/bindings/python/clang/cindex.py
+2-0clang/docs/ReleaseNotes.rst
+19-03 files

LLVM/project 3b91061lldb/source/Plugins/SymbolLocator/SymStore CMakeLists.txt

[lldb] Fix linking liblldb in a dylib build after 39d6bb21804d21ab

Referencing libSupportHTTP under LINK_LIBS of add_lldb_library() pulls
in the static archive even in a build configuration with
LLVM_LINK_LLVM_DYLIB=On, where libSupportHTTP is part of libLLVM. This
patch moves it to LINK_COMPONENTS to fix the issue.

This is the same fix as in
036429881f8d3037894042c6268b2a94eac8c950, applied on another
library.
DeltaFile
+3-1lldb/source/Plugins/SymbolLocator/SymStore/CMakeLists.txt
+3-11 files

LLVM/project 1a9de93clang/include/clang/CIR/Dialect/IR CIROps.td, clang/test/CIR/Transforms bit.cir

[CIR] Add Involution trait to BitReverseOp and ByteSwapOp
DeltaFile
+20-0clang/test/CIR/Transforms/bit.cir
+4-0clang/include/clang/CIR/Dialect/IR/CIROps.td
+24-02 files

LLVM/project db143fbllvm/lib/Transforms/Vectorize SLPVectorizer.cpp

[SLP][NFC]Use block number instead of pointer for stable sorting, NFC
DeltaFile
+3-3llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+3-31 files

LLVM/project a5dd902clang/lib/AST ASTContext.cpp DeclCXX.cpp, clang/lib/CIR/CodeGen CIRGenClass.cpp

[CIR] Implement isMemcpyEquivalentSpecialMember for trivial copy/move ctors
DeltaFile
+41-0clang/test/CIR/CodeGen/copy-constructor-memcpy.cpp
+7-31clang/lib/CodeGen/CGClass.cpp
+20-7clang/lib/CIR/CodeGen/CIRGenClass.cpp
+22-0clang/lib/AST/ASTContext.cpp
+6-5clang/test/CIR/CodeGen/cxx-special-member-attr.cpp
+11-0clang/lib/AST/DeclCXX.cpp
+107-438 files not shown
+121-6014 files

LLVM/project 2d01df1clang/lib/CIR/CodeGen CIRGenCall.cpp CIRGenModule.cpp, clang/test/CIR/CodeGen arg-attrs.cpp invoke-attrs.cpp

[CIR] Fix reference alignment to use pointee type (#186667)

getNaturalTypeAlignment on a reference type returned pointer alignment
instead of pointee alignment. Pass the pointee type with
forPointeeType=true to match traditional codegen's
getNaturalPointeeTypeAlignment behavior. Fix applies to both argument
and return type attribute construction paths.
DeltaFile
+27-4clang/test/CIR/CodeGen/arg-attrs.cpp
+9-7clang/lib/CIR/CodeGen/CIRGenCall.cpp
+7-0clang/lib/CIR/CodeGen/CIRGenModule.cpp
+2-4clang/lib/CIR/CodeGen/CIRGenExpr.cpp
+3-3clang/test/CIR/CodeGen/invoke-attrs.cpp
+3-0clang/lib/CIR/CodeGen/CIRGenModule.h
+51-186 files

LLVM/project de00349llvm/lib/Transforms/InstCombine InstCombineSelect.cpp

Address comments
DeltaFile
+9-13llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
+9-131 files

LLVM/project dba9d90llvm/lib/Transforms/InstCombine InstCombineSelect.cpp, llvm/test/Transforms/InstCombine nanless-canonicalize-combine.ll

InstCombine: Fold out nanless canonicalize pattern

Pattern match a wrapper around llvm.canonicalize which
weakens the semantics to not require quieting signaling
nans. Depending on the denormal mode and FP type, we can
either drop the pattern entirely or reduce it only to
a canonicalize call. I'm inventing this pattern to deal
with LLVM's lax canonicalization model in math library
code.

The math library code currently has explicit checks for
the denormal mode, and conditionally canonicalizes the
result if there is flushing. Semantically, this could be
directly replaced with a simple call to llvm.canonicalize,
but doing so would incur an additional cost when using
standard IEEE behavior. If we do not care about quieting
a signaling nan, this should be a no-op unless the denormal
mode may flush. This will allow replacement of the
conditional code with a zero cost abstraction utility

    [17 lines not shown]
DeltaFile
+51-155llvm/test/Transforms/InstCombine/nanless-canonicalize-combine.ll
+103-0llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
+154-1552 files

LLVM/project 291ca72llvm/test/Transforms/InstCombine nanless-canonicalize-combine.ll

InstCombine: Add baseline test for nanless canonicalize combine
DeltaFile
+832-0llvm/test/Transforms/InstCombine/nanless-canonicalize-combine.ll
+832-01 files

LLVM/project c825177clang/lib/CIR/CodeGen CIRGenCall.cpp CIRGenModule.cpp, clang/test/CIR/CodeGen arg-attrs.cpp invoke-attrs.cpp

[CIR] Fix reference alignment to use pointee type

getNaturalTypeAlignment on a reference type returned pointer alignment
instead of pointee alignment. Pass the pointee type with
forPointeeType=true to match traditional codegen's
getNaturalPointeeTypeAlignment behavior. Fix applies to both argument
and return type attribute construction paths.
DeltaFile
+27-4clang/test/CIR/CodeGen/arg-attrs.cpp
+9-7clang/lib/CIR/CodeGen/CIRGenCall.cpp
+7-0clang/lib/CIR/CodeGen/CIRGenModule.cpp
+3-3clang/test/CIR/CodeGen/invoke-attrs.cpp
+2-4clang/lib/CIR/CodeGen/CIRGenExpr.cpp
+3-0clang/lib/CIR/CodeGen/CIRGenModule.h
+51-186 files

LLVM/project 618b9b2llvm/lib/Frontend/OpenMP OMPIRBuilder.cpp

[OpenMP][flang] Fix crash in host offload

Guard `getGridValue` in `OMPIRBuilder` to avoid reaching the
`unreachable` in `getGridValue` when offloading to host device without
an explicit num_threads clause.

Reproducer (`-fopenmp -fopenmp-targets=x86_64-unknown-linux-gnu`):
```
program test
  implicit none

  !$omp target
  !$omp end target
end program test
```

(Note: the linker still fails, but that's another issue.)
DeltaFile
+13-3llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+13-31 files

LLVM/project 1f9c54aclang/lib/AST QualTypeNames.cpp, clang/test/Interpreter pretty-print.cpp

[clang][AST] Preserve qualifiers in getFullyQualifiedType for AutoType (#187717)

A previous change (86c4e96) did not preserve qualifiers attached to the
AutoType QualType when the type was deduced.

For an AutoType after `getDeducedType()`, qualifiers from the original
QualType were dropped. Preserve and reapply them to the deduced type.
DeltaFile
+8-2clang/lib/AST/QualTypeNames.cpp
+4-0clang/test/Interpreter/pretty-print.cpp
+12-22 files

LLVM/project b3c1098lldb/unittests/Platform PlatformTest.cpp

[lldb][test] PlatformTest: fix comment
DeltaFile
+1-1lldb/unittests/Platform/PlatformTest.cpp
+1-11 files

LLVM/project 64c4e52mlir/lib/Conversion/MemRefToSPIRV MemRefToSPIRV.cpp, mlir/test/Conversion/MemRefToSPIRV memref-to-spirv.mlir

[mlir][SPIRV] Add alignment calculation to support `PhysicalStorageBuffer` with vector types (#187698)

This allows to lower `memref.load`/`store` operations on
`PhysicalStorageBuffer`-typed resources with the underlying type being a
vector type. This improves support for the `PhysicalStorageBuffer`
capability in pipelines that use the Vector dialect for distribution.

Signed-off-by: Artem Gindinson <gindinson at roofline.ai>
DeltaFile
+31-0mlir/test/Conversion/MemRefToSPIRV/memref-to-spirv.mlir
+14-5mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
+45-52 files

LLVM/project 1087db5clang-tools-extra/clang-tidy/bugprone SuspiciousSemicolonCheck.cpp SuspiciousSemicolonCheck.h

[clang-tidy] Speed up `bugprone-suspicious-semicolon` (#187558)

```txt
                   ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- Name ---
Status quo:        0.4743 (100.0%)   0.3802 (100.0%)   0.8546 (100.0%)   0.8567 (100.0%)  bugprone-suspicious-semicolon
With this change:  0.0103 (100.0%)   0.0027 (100.0%)   0.0130 (100.0%)   0.0133 (100.0%)  bugprone-suspicious-semicolon
```
Continuing the trend of registering one `anyOf` matcher being slower
than registering each of its matchers separately (see #178829 for a
previous example).

(This PR also changes the traversal mode, but I only saw a small speedup
from that. Most of it came from registering the matchers separately.)

This check wasn't super expensive to begin with, but the speedup is
still pretty nice.
DeltaFile
+9-7clang-tools-extra/clang-tidy/bugprone/SuspiciousSemicolonCheck.cpp
+3-0clang-tools-extra/clang-tidy/bugprone/SuspiciousSemicolonCheck.h
+12-72 files

LLVM/project d7fe9c8clang/lib/Format TokenAnnotator.cpp, clang/unittests/Format FormatTest.cpp

[clang-format] Handle sizeof in C compound literals (#187633)

Fixes #168237
DeltaFile
+11-0clang/lib/Format/TokenAnnotator.cpp
+2-0clang/unittests/Format/FormatTest.cpp
+13-02 files

LLVM/project d0d0238llvm/lib/Target/LoongArch LoongArchISelLowering.cpp

Address wanglei's comment
DeltaFile
+1-0llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+1-01 files

LLVM/project f0a652eclang/lib/Lex PPDirectives.cpp

[NFC][clang] Remove dead code in HandleCXXModuleDirective (#187737)

Remove the dead code in `Preprocessor::HandleCXXModuleDirective`.

Signed-off-by: yronglin <yronglin777 at gmail.com>
DeltaFile
+6-7clang/lib/Lex/PPDirectives.cpp
+6-71 files