Changes

Summary

  1. [X86][FP16] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A) (details)
  2. Wrap xar/xar.h include in extern "C" block (details)
  3. [NFC] Wrap MLIR addAffineForOpDomain warning with LLVM_DEBUG (details)
  4. [clangd] Ensure lambda init-capture gets semantic token (details)
  5. [ModuleInlinerWrapperPass] Do some naive printing of wrapped pipeline with -print-pipeline-passes (details)
  6. [DAGCombiner] Rename isAlias as mayAlias. NFC (details)
  7. [TII] Remove the MFI argument to convertToThreeAddress. NFC. (details)
  8. [Driver] Correctly handle static C++ standard library (details)
  9. Revert "[Driver] Correctly handle static C++ standard library" (details)
Commit 76656ec8ec535bd17afc998112a83c7c55ad7719 by chen3.liu
[X86][FP16] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A)

This patch is to support transform something like
_mm512_add_ph(acc, _mm512_fmadd_pch(a, b, _mm512_setzero_ph()))
to _mm512_fmadd_pch(a, b, acc).

Differential Revision: https://reviews.llvm.org/D109953
The file was addedllvm/test/CodeGen/X86/avx512fp16-combine-vfmac-fadd.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
Commit 08ef24f6abdfaee038c47e3fe0b61b40e8fd9053 by sylvestre
Wrap xar/xar.h include in extern "C" block

Without such wrapping, linking lld fails with missing symbols because of
C++ symbol mangling with older versions of the MacOSX SDK, in which
xar.h doesn't have an extern "C" block itself.

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D110224
The file was modifiedlld/MachO/SyntheticSections.cpp (diff)
Commit 1f3f144446d1766b6bd63ac02a064450c4fa5e55 by shivam98.tkg
[NFC] Wrap MLIR addAffineForOpDomain warning with LLVM_DEBUG

Current warning message in method `addAffineForOpDomain` of mlir/lib/Analysis/AffineStructures.cpp is being printed to the stdout/stderr.
This patch redirects the warning with LLVM_DEBUG following standard llvm practice.

Reviewed By: bondhugula

Differential Revision: https://reviews.llvm.org/D108340
The file was modifiedmlir/lib/Analysis/AffineStructures.cpp (diff)
Commit 4223195de3eaaa9c221d1f178899f221be6264c5 by zeratul976
[clangd] Ensure lambda init-capture gets semantic token

Prior to this patch, CollectExtraHighlightings would incorrectly produce
a token for the init-capture's type which overlapped the name and
resulted in both being dropped.

Fixes https://github.com/clangd/clangd/issues/868

Differential Revision: https://reviews.llvm.org/D110130
The file was modifiedclang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp (diff)
The file was modifiedclang-tools-extra/clangd/SemanticHighlighting.cpp (diff)
Commit c5e0313e4489cb3130f441685fd4207eeee6aa48 by bjorn.a.pettersson
[ModuleInlinerWrapperPass] Do some naive printing of wrapped pipeline with -print-pipeline-passes

Bisecting and reducing opt pipelines that includes the
ModuleInlinerWrapperPass has turned out to be a bit problematic.
This is far from perfect (it still lacks information about inline
advisor params etc.), but it should give some kind of hint to what
the wrapped pipeline looks like when using -print-pipeline-passes.

Reviewed By: aeubanks, mtrofin

Differential Revision: https://reviews.llvm.org/D109878
The file was modifiedllvm/lib/Transforms/IPO/Inliner.cpp (diff)
The file was modifiedllvm/test/Other/new-pm-print-pipeline.ll (diff)
The file was modifiedllvm/include/llvm/Transforms/IPO/Inliner.h (diff)
Commit c3ae8ecb520e6565594272d12e447e295ce09c9b by bjorn.a.pettersson
[DAGCombiner] Rename isAlias as mayAlias. NFC

Differential Revision: https://reviews.llvm.org/D110062
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (diff)
Commit 6cef28ed2df19c197790ca777423fc1c2572c138 by jay.foad
[TII] Remove the MFI argument to convertToThreeAddress. NFC.

This simplifies the API and addresses a FIXME in
TwoAddressInstructionPass::convertInstTo3Addr.

Differential Revision: https://reviews.llvm.org/D110229
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.h (diff)
The file was modifiedllvm/include/llvm/CodeGen/TargetInstrInfo.h (diff)
The file was modifiedllvm/lib/CodeGen/TwoAddressInstructionPass.cpp (diff)
The file was modifiedllvm/lib/Target/X86/X86FixupLEAs.cpp (diff)
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrInfo.h (diff)
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.h (diff)
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.h (diff)
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrInfo.cpp (diff)
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.cpp (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.cpp (diff)
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp (diff)
The file was modifiedllvm/lib/Target/AMDGPU/SIFoldOperands.cpp (diff)
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.h (diff)
Commit 5e28c892d06f95600f8b6290ad4de38bfe142637 by phosek
[Driver] Correctly handle static C++ standard library

When statically linking C++ standard library, we shouldn't add -Bdynamic
after including the library on the link line because that might override
user settings like -static and -static-pie. Rather, we should surround
the library with --push-state/--pop-state to make sure that -Bstatic
only applies to C++ standard library and nothing else. This has been
supported since GNU ld 2.25 (2014) so backwards compatibility should
no longer be a concern.

Differential Revision: https://reviews.llvm.org/D110128
The file was modifiedclang/test/Driver/fuchsia.cpp (diff)
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp (diff)
The file was modifiedclang/test/Driver/linux-ld.c (diff)
The file was modifiedclang/lib/Driver/ToolChains/Fuchsia.cpp (diff)
Commit 904ca7d2ed97bf114fd11373c722acd1e54bfaa3 by phosek
Revert "[Driver] Correctly handle static C++ standard library"

This reverts commit 5e28c892d06f95600f8b6290ad4de38bfe142637 as
the linker on the clang-ppc64le-rhel bot doesn't seem to support
--push-state/--pop-state.
The file was modifiedclang/test/Driver/linux-ld.c (diff)
The file was modifiedclang/test/Driver/fuchsia.cpp (diff)
The file was modifiedclang/lib/Driver/ToolChains/Fuchsia.cpp (diff)
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp (diff)