LLVM/project e0a293dmlir/lib/Conversion/ComplexToStandard ComplexToStandard.cpp

[mlir] Fix a warning

This patch fixes:

  mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp:964:26:
  error: missing 'typename' prior to dependent type name Op::Adaptor;
  implicit 'typename' is a C++20 extension
  [-Werror,-Wc++20-extensions]
DeltaFile
+1-1mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
+1-11 files

LLVM/project 37d0063llvm/lib/Target/SPIRV SPIRVEmitIntrinsics.cpp, llvm/test/CodeGen/SPIRV phi-insert-point.ll

[SPIR-V] Ensure that internal intrinsic functions for PHI's operand are inserted at the correct positions (#92316)

This PR is to ensure that internal intrinsic functions for PHI's operand
are inserted at the correct positions and don't break rules of
instruction domination and PHI nodes grouping at top of basic block.
DeltaFile
+59-0llvm/test/CodeGen/SPIRV/phi-insert-point.ll
+2-2llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+61-22 files

LLVM/project 5b7088cllvm/lib/Analysis TargetLibraryInfo.cpp

TargetLibraryInfo: Assume no libcalls in the default constructor (#92400)

The only tricky point here is PlaceSafepoints has an awful hack where
it's creating a legacy PassManager inside it's runImpl, which was not
propagating the incoming TLI. This means there's an implicit bug fix,
where PlaceSafepoints would have been treating too many calls as
builtins.

I'm trying to delete the default constructor altogether, but this seems
to be more difficult.
DeltaFile
+31-20llvm/lib/Analysis/TargetLibraryInfo.cpp
+31-201 files

LLVM/project f43decamlir/lib/Conversion/ComplexToStandard ComplexToStandard.cpp, mlir/test/Conversion/ComplexToStandard convert-to-standard.mlir

Fix Tan inaccuracies on extreme complex inputs. (#92443)

Specifically, those with small/large absolute values. This ports
https://github.com/openxla/xla/pull/10525 and was verified with XLA's
test suite.
DeltaFile
+78-257mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
+20-23mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
+98-2802 files

LLVM/project 2641fe8llvm/lib/Target/AArch64 AArch64PointerAuth.cpp

[AArch64][PAC] Fix creating check instructions for BBs without an epilog

`AArch64PAuth::checkAuthenticatedRegister()` splits the basic block
containing the tail call instruction to add check instructions, assuming
at least one more instruction before the call. This assumption is
incorrect in cases where some execution paths lead to the termination
block without creating the stack frame. This patch rearranges the
creation of the checks so that the prior splitting is not required.
DeltaFile
+7-16llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
+7-161 files

LLVM/project a303950llvm/test/CodeGen/AArch64 sign-return-address-tailcall.ll

test
DeltaFile
+32-0llvm/test/CodeGen/AArch64/sign-return-address-tailcall.ll
+32-01 files

LLVM/project 3e5325allvm/lib/Target/AArch64 AArch64PointerAuth.h AArch64PointerAuth.cpp

[AArch64][PAC][NFC] Make checkAuthenticatedRegister() return void

The return value is not used. This change simplifies an upcoming patch.
DeltaFile
+4-8llvm/lib/Target/AArch64/AArch64PointerAuth.h
+5-5llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
+9-132 files

LLVM/project bc9823cllvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 bfloat.ll

[X86][BF16] Change MVT to EVT in combineFP_EXTEND

Fixes: #92471
DeltaFile
+53-0llvm/test/CodeGen/X86/bfloat.ll
+2-2llvm/lib/Target/X86/X86ISelLowering.cpp
+55-22 files

LLVM/project 9bffe79llvm/include/llvm/CodeGen/GlobalISel CombinerHelper.h, llvm/include/llvm/Target/GlobalISel Combine.td

[GlobalIsel] Speedup select to integer min/max (#92378)

https://github.com/llvm/llvm-project/issues/92309
DeltaFile
+40-62llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
+28-0llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
+8-1llvm/include/llvm/Target/GlobalISel/Combine.td
+3-3llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
+79-664 files

LLVM/project f71749cclang/lib/Analysis ThreadSafetyCommon.cpp, clang/lib/Sema SemaDeclAttr.cpp

[clang] Drop explicit conversions of string literals to StringRef (NFC)

We routinely rely on implicit conversions of string literals to
StringRef so that we can use operator==(StringRef, StringRef).

The LHS here are all known to be of StringRef.
DeltaFile
+1-1clang/lib/Analysis/ThreadSafetyCommon.cpp
+1-1clang/lib/Sema/SemaDeclAttr.cpp
+1-1clang/lib/Serialization/ASTWriter.cpp
+3-33 files

LLVM/project 0e0d79dclang/lib/Sema SemaTemplateDeduction.cpp, clang/test/AST const-fpfeatures.cpp

use uint64_t TrailingZeroes && add test

Created using spr 1.3.5-bogner
DeltaFile
+136-88llvm/test/CodeGen/X86/atomic128.ll
+66-67lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
+105-0clang/test/AST/const-fpfeatures.cpp
+70-30llvm/lib/Target/X86/X86ISelLowering.cpp
+14-69llvm/test/CodeGen/X86/atomic-unordered.ll
+53-14clang/lib/Sema/SemaTemplateDeduction.cpp
+444-26856 files not shown
+956-46062 files

LLVM/project 14030d7llvm/lib/Frontend/OpenMP OMPContext.cpp, llvm/lib/Object MachOObjectFile.cpp

[llvm] Drop explicit conversions of string literals to StringRef (NFC)

We routinely rely on implicit conversions of string literals to
StringRef so that we can use operator==(StringRef, StringRef).
DeltaFile
+2-2llvm/lib/Object/MachOObjectFile.cpp
+1-2llvm/lib/Target/Mips/MipsISelLowering.cpp
+1-1llvm/lib/Frontend/OpenMP/OMPContext.cpp
+4-53 files

LLVM/project f4066faclang/include/clang/Lex LiteralSupport.h, clang/lib/Lex LiteralSupport.cpp

[clang] Use constant rounding mode for floating literals (#90877)

Conversion of floating-point literal to binary representation must be
made using constant rounding mode, which can be changed using pragma
FENV_ROUND. For example, the literal "0.1F" should be representes by
either 0.099999994 or 0.100000001 depending on the rounding direction.
DeltaFile
+105-0clang/test/AST/const-fpfeatures.cpp
+4-6clang/include/clang/Lex/LiteralSupport.h
+3-3clang/lib/Lex/LiteralSupport.cpp
+6-0clang/test/AST/const-fpfeatures.c
+4-1clang/lib/Sema/SemaExpr.cpp
+122-105 files

LLVM/project a26fbf3clang/lib/Sema SemaDeclAttr.cpp

[Sema] Use SmallString::empty (NFC)
DeltaFile
+1-1clang/lib/Sema/SemaDeclAttr.cpp
+1-11 files

LLVM/project aaa8a80llvm/lib/CodeGen BasicBlockSectionsProfileReader.cpp

[CodeGen] Use operator==(StringRef, StringRef) (NFC)

The LHS and RHS are of SmallString and StringRef, respectively.  We
can safely use operator==(StringRef, SringRef) with one implicit
conversion from SmallString to StringRef.
DeltaFile
+2-2llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp
+2-21 files

LLVM/project d395b56llvm/include/llvm/ExecutionEngine/JITLink aarch64.h, llvm/lib/ExecutionEngine/JITLink ELF_aarch64.cpp

[JITLink][AArch64] Implement R_AARCH64_LDR_PREL_LO19 (#82172)

This relocation is used for the 32-bit aligned 21-bit immediate in LDR
Literal instructions.
DeltaFile
+16-6llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
+12-0llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
+11-0llvm/test/ExecutionEngine/JITLink/AArch64/ELF_relocations.s
+39-63 files

LLVM/project 5d8354cflang/lib/Lower DirectivesCommon.h, flang/test/Lower/OpenMP atomic-write.f90

[Flang][OpenMP]Missing convert to lhsType in atomic write (#92346)

Fixes test.f90 in #83144.

This issue is observed only when a boolean constant is assigned to a
logical variable. In non-openmp flow, a conversion op is inserted before
assigning it to a logical variable. This patch will insert a fir.convert
operation when the types are not the same, before generating the atomic
write operation.

I've proposed another patch(#85059 ) which removes checks at MLIR level
and looks like it's too permissive. I'm planning to abandon this patch
and address it here.
DeltaFile
+14-0flang/test/Lower/OpenMP/atomic-write.f90
+3-0flang/lib/Lower/DirectivesCommon.h
+17-02 files

LLVM/project c339226lldb/source/Core FormatEntity.cpp, lldb/source/Expression IRExecutionUnit.cpp

[lldb] Use operator==(StringRef, StringRef) instead of StringRef::equals (NFC) (#92476)

Note that StringRef::equals has been deprecated in favor of
operator==(StringRef, StringRef).
DeltaFile
+66-67lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
+17-17lldb/source/Expression/IRExecutionUnit.cpp
+13-13lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+11-11lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
+8-9lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
+6-6lldb/source/Core/FormatEntity.cpp
+121-1238 files not shown
+136-13814 files

LLVM/project 1b7161fbolt/include/bolt/Profile DataAggregator.h, bolt/lib/Profile DataAggregator.cpp YAMLProfileWriter.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.4
DeltaFile
+7-6bolt/lib/Profile/DataAggregator.cpp
+8-0bolt/test/X86/register-fragments-bolt-symbols.s
+4-1bolt/include/bolt/Profile/DataAggregator.h
+2-1bolt/lib/Profile/YAMLProfileWriter.cpp
+3-0bolt/test/link_fdata.py
+24-85 files

LLVM/project 45b0330clang/lib/Sema SemaObjC.cpp, flang/lib/Lower/OpenMP OpenMP.cpp

rebase

Created using spr 1.3.5
DeltaFile
+1,871-0llvm/test/CodeGen/AMDGPU/vector_rebroadcast.ll
+823-1,021flang/lib/Lower/OpenMP/OpenMP.cpp
+1,720-0llvm/test/CodeGen/AArch64/icmp.ll
+1,690-0llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
+1,486-0clang/lib/Sema/SemaObjC.cpp
+730-710llvm/lib/Target/X86/X86TargetTransformInfo.cpp
+8,320-1,7311,595 files not shown
+58,103-25,2451,601 files

LLVM/project e60cf1aclang/lib/Sema SemaObjC.cpp, flang/lib/Lower/OpenMP OpenMP.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.5

[skip ci]
DeltaFile
+1,871-0llvm/test/CodeGen/AMDGPU/vector_rebroadcast.ll
+823-1,021flang/lib/Lower/OpenMP/OpenMP.cpp
+1,720-0llvm/test/CodeGen/AArch64/icmp.ll
+1,690-0llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
+1,486-0clang/lib/Sema/SemaObjC.cpp
+730-710llvm/lib/Target/X86/X86TargetTransformInfo.cpp
+8,320-1,7311,592 files not shown
+58,091-25,2301,598 files

LLVM/project 9f15aa0bolt/include/bolt/Profile DataAggregator.h, bolt/lib/Profile DataAggregator.cpp

[BOLT][NFC] Rename DataAggregator::BranchInfo to TakenBranchInfo

Align the name to its counterpart `FTInfo` which avoids name aliasing
with llvm::bolt::BranchInfo and allows to drop namespace specifier.

Test Plan: NFC

Reviewers: maksfb, rafaelauler, ayermolo, dcci

Reviewed By: dcci

Pull Request: https://github.com/llvm/llvm-project/pull/92017
DeltaFile
+6-6bolt/lib/Profile/DataAggregator.cpp
+2-2bolt/include/bolt/Profile/DataAggregator.h
+8-82 files

LLVM/project 5529278lldb/bindings CMakeLists.txt interfaces.swig

Revert "[lldb] Include SBLanguages in the SWIG bindings" (#92490)

Reverts llvm/llvm-project#92470
DeltaFile
+0-2lldb/bindings/CMakeLists.txt
+0-1lldb/bindings/interfaces.swig
+0-1lldb/bindings/headers.swig
+0-43 files

LLVM/project e7716afbolt/docs CommandLineArgumentReference.md, flang/lib/Lower/OpenMP OpenMP.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.5

[skip ci]
DeltaFile
+1,690-0llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
+562-725flang/lib/Lower/OpenMP/OpenMP.cpp
+1,213-0bolt/docs/CommandLineArgumentReference.md
+310-760llvm/test/CodeGen/AArch64/icmp.ll
+1,049-0llvm/test/CodeGen/AArch64/sme-framelower-use-bp.ll
+35-947llvm/test/Transforms/LoopUnroll/X86/znver3.ll
+4,859-2,4321,292 files not shown
+37,446-16,9531,298 files

LLVM/project ebf2831lldb/bindings CMakeLists.txt headers.swig

[lldb] Include SBLanguages in the SWIG bindings (#92470)

DeltaFile
+2-0lldb/bindings/CMakeLists.txt
+1-0lldb/bindings/headers.swig
+1-0lldb/bindings/interfaces.swig
+4-03 files

LLVM/project 88d351eclang/lib/Format UnwrappedLineParser.cpp, clang/unittests/Format TokenAnnotatorTest.cpp

[clang-format] Fix a regression in annotating struct braces (#92352)

Fixes #92350.
DeltaFile
+7-5clang/lib/Format/UnwrappedLineParser.cpp
+5-0clang/unittests/Format/TokenAnnotatorTest.cpp
+12-52 files

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

[clang-format] Don't always break before << between string literals (#92214)

Instead, leave the line wrapping as is.

Fixes #43887.
Fixes #44363.
DeltaFile
+11-0clang/unittests/Format/FormatTest.cpp
+5-2clang/lib/Format/TokenAnnotator.cpp
+16-22 files

LLVM/project 2628badllvm/lib/Target/LoongArch LoongArchISelLowering.cpp, llvm/test/CodeGen/LoongArch emutls.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.5-bogner
DeltaFile
+133-0llvm/test/CodeGen/LoongArch/emutls.ll
+3-0llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+136-02 files

LLVM/project bf1d417llvm/lib/Target/LoongArch LoongArchISelLowering.cpp LoongArchSubtarget.h, llvm/test/CodeGen/LoongArch sextw-removal.ll soft-fp-to-int.ll

[LoongArch] Suppress the unnecessary extensions for arguments in makeLibCall

Reviewed By: SixWeining, heiher

Pull Request: https://github.com/llvm/llvm-project/pull/92376
DeltaFile
+9-0llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+2-6llvm/test/CodeGen/LoongArch/sextw-removal.ll
+4-0llvm/lib/Target/LoongArch/LoongArchSubtarget.h
+0-2llvm/test/CodeGen/LoongArch/soft-fp-to-int.ll
+1-1llvm/test/CodeGen/LoongArch/calling-conv-lp64s.ll
+1-1llvm/test/CodeGen/LoongArch/libcall-extend.ll
+17-101 files not shown
+18-107 files

LLVM/project 5a204a5llvm/lib/Target/LoongArch LoongArchISelLowering.cpp LoongArchISelLowering.h, llvm/test/CodeGen/LoongArch sextw-removal.ll libcall-extend.ll

[LoongArch] Use sign extend for i32 arguments in makeLibCall on LA64

The 32 bits arguments and returns on LA64 are always sign extended to
i64. So we should be taking this into account around libcalls.

Reviewed By: heiher, SixWeining

Pull Request: https://github.com/llvm/llvm-project/pull/92375
DeltaFile
+8-8llvm/test/CodeGen/LoongArch/sextw-removal.ll
+8-0llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+0-3llvm/test/CodeGen/LoongArch/libcall-extend.ll
+1-1llvm/test/CodeGen/LoongArch/calling-conv-lp64s.ll
+1-1llvm/test/CodeGen/LoongArch/soft-fp-to-int.ll
+1-0llvm/lib/Target/LoongArch/LoongArchISelLowering.h
+19-136 files