Changes

Summary

  1. Test commit to check access. (details)
  2. [CMake] Installable find modules for terminfo and libffi (details)
  3. [lld-macho] Unreferenced weak dylib symbols shouldn't fetch archive symbols (details)
  4. [GlobalISel] Allow DBG_VALUE to use undefined vregs before LiveDebugValues. (details)
  5. [libc++] Remove space-alignment of trailing braces in module.modulemap. NFC. (details)
  6. [libc++][NFC] Disable clang-tidy checks (details)
  7. [PowerPC] Implement general back2back fusion (details)
Commit 296ebeb808a71e44a64e0f805cffc6e3a3bf6182 by jackoalan
Test commit to check access.
The file was modifiedclang/lib/Driver/Driver.cpp
Commit b66339575a9b541e67ce5ad2ba7e88da07cf9305 by jackoalan
[CMake] Installable find modules for terminfo and libffi

Improves cross-distro portability of LLVM cmake package by resolving paths for
terminfo and libffi via import targets.

When LLVMExports.cmake is generated for installation, it contains absolute
library paths which are likely to be a common cause of portability issues. To
mitigate this, the discovery logic for these dependencies is refactored into
find modules which get installed alongside LLVMConfig.cmake. The result is
cleaner, cmake-friendly management of these dependencies that respect the
environment of the LLVM package importer.

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D114327
The file was modifiedllvm/lib/Support/CMakeLists.txt
The file was modifiedllvm/cmake/config-ix.cmake
The file was modifiedllvm/cmake/modules/LLVMConfig.cmake.in
The file was addedllvm/cmake/modules/FindFFI.cmake
The file was modifiedllvm/lib/ExecutionEngine/Interpreter/CMakeLists.txt
The file was addedllvm/cmake/modules/FindTerminfo.cmake
Commit 1b44364714981017302f182583a43fda4d28e0eb by jezng
[lld-macho] Unreferenced weak dylib symbols shouldn't fetch archive symbols

We were fetching archive symbols too eagerly, bloating binary size as well as
just screwing up binaries that expected to look up certain symbols only at
runtime.

Reviewed By: #lld-macho, oontvoo

Differential Revision: https://reviews.llvm.org/D115092
The file was modifiedlld/MachO/SymbolTable.cpp
The file was modifiedlld/test/MachO/weak-definition-direct-fetch.s
Commit f108c7f59dfae5fafbb00fbdef7a0cd31826dcfc by jackoalan
[GlobalISel] Allow DBG_VALUE to use undefined vregs before LiveDebugValues.

Expanding on D109750.

Since `DBG_VALUE` instructions have final register validity determined in
`LDVImpl::handleDebugValue`, there is no apparent reason to immediately prune
unused register operands as their defs are erased. Consequently, this renders
`MachineInstr::eraseFromParentAndMarkDBGValuesForRemoval` moot; gaining a
substantial performance improvement.

The only necessary changes involve making relevant passes consider invalid
DBG_VALUE vregs uses as valid.

Reviewed By: MatzeB

Differential Revision: https://reviews.llvm.org/D112852
The file was modifiedllvm/lib/CodeGen/MIRPrinter.cpp
The file was modifiedllvm/lib/CodeGen/MIRParser/MIRParser.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
The file was modifiedllvm/include/llvm/CodeGen/MachineFunction.h
The file was modifiedllvm/lib/CodeGen/MachineInstr.cpp
The file was modifiedllvm/lib/CodeGen/MachineFunction.cpp
The file was addedllvm/test/CodeGen/X86/GlobalISel/x86-calllowering-dbg-trunc.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-dbg-value.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/fold-readlane.mir
The file was addedllvm/test/CodeGen/Generic/live-debug-vars-undef-use.mir
The file was addedllvm/test/MachineVerifier/verify-selected-dbg-undef-use.mir
The file was modifiedllvm/lib/CodeGen/GlobalISel/Utils.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXPeephole.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/Combiner.cpp
The file was addedllvm/test/MachineVerifier/verify-regbankselected-dbg-undef-use.mir
The file was modifiedllvm/lib/CodeGen/LiveDebugVariables.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIFoldOperands.cpp
The file was modifiedllvm/lib/CodeGen/DeadMachineInstructionElim.cpp
The file was modifiedllvm/include/llvm/CodeGen/MachineInstr.h
The file was modifiedllvm/include/llvm/CodeGen/MIRYamlMapping.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
The file was modifiedllvm/lib/CodeGen/MachineCombiner.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugVariables.h
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/uaddo-8-16-bits.mir
The file was modifiedllvm/lib/CodeGen/MachineVerifier.cpp
Commit 2f16b87b4b1d3fee07aff71a9bf79c3a8d514e7a by arthur.j.odwyer
[libc++] Remove space-alignment of trailing braces in module.modulemap. NFC.

As discussed on the Discord, 2021-12-01 through 2021-12-05.
Our new consistent style for this is "don't align the right-braces"
(but still align the left-braces, as shown).
The file was modifiedlibcxx/include/module.modulemap
Commit f50be8eb0a12a61d23db6cda452c693001d76898 by nikolasklauser
[libc++][NFC] Disable clang-tidy checks

Disable clang-tidy checks as discussed in D114915

Reviewed By: ldionne, #libc

Spies: cjdb, aheejin, libcxx-commits

Differential Revision: https://reviews.llvm.org/D114985
The file was modifiedlibcxx/.clang-tidy
Commit e3c2694da98d9e6585b47cebfedce8473f679fff by qiucofan
[PowerPC] Implement general back2back fusion

Implement 'back-to-back' FX fusion according to Power10 User Manual
'19.1.5.4 Fusion', not enabled by default.

Reviewed By: nemanjai

Differential Revision: https://reviews.llvm.org/D114345
The file was modifiedllvm/lib/Target/PowerPC/PPC.td
The file was modifiedllvm/lib/Target/PowerPC/PPCSubtarget.h
The file was addedllvm/lib/Target/PowerPC/PPCBack2BackFusion.def
The file was modifiedllvm/lib/Target/PowerPC/PPCSubtarget.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCMacroFusion.def
The file was modifiedllvm/test/CodeGen/PowerPC/macro-fusion.mir