SuccessChanges

Summary

  1. Speculatively fix the Sphinx builder. (details)
  2. [GVN] Account for masked loads/stores depending on load/store instructions (details)
  3. Hexagon.h - remove unnecessary includes. NFCI. (details)
  4. [libcxx] Make sure we pass -isysroot when linking AND when compiling (details)
  5. Mark FMOV constant materialization as being as cheap as a move. (details)
  6. SwitchLoweringUtils.h - reduce TargetLowering.h include. NFCI. (details)
  7. [SyntaxTree] Specialize `TreeTestBase` for `BuildTreeTest`, `MutationsTest` and `SynthesisTest` (details)
  8. Fix typo in dsymutil.rst (details)
  9. Introduce linalg.vecmat (details)
  10. Revert "[gcov] Delete flush_fn_list (unused since D83149)" (details)
  11. [gn build] Port c01d28dc51b (details)
  12. [PPC][GlobalISel] Add initial GlobalIsel infrastructure (details)
  13. [ArgumentPromotion]: Copy function metadata after promoting arguments (details)
  14. [lldb, tests] Correctly configure the yaml2obj paths (details)
  15. [gcov] Delete flush_fn_list (unused since D83149) (details)
  16. [NFC][ThinLTO] Let llvm::EmbedBitcodeInModule handle serialization. (details)
  17. Revert D86875 "[Flang][NFC] Remove license comments from files in docs/ folder." (details)
  18. [compiler-rt] [netbsd] Add fallback definitions for MKISCSI=no (details)
  19. [compiler-rt] [netbsd] Improve code formatting (details)
  20. [ImplicitNullCheck] Handle instructions that preserve zero value (details)
Commit 66ac212ea97a529e171a7b8aea10638d7b9b9907 by aaron
Speculatively fix the Sphinx builder.
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
Commit 8a08740db6e13a3a36363c65b7e270cb7c66eb3c by kparzysz
[GVN] Account for masked loads/stores depending on load/store instructions

This is a case where an intrinsic depends on a non-call instruction.

Differential Revision: https://reviews.llvm.org/D87423
The file was addedllvm/test/Transforms/GVN/masked-load-store-vn-crash.ll
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp
Commit 601557e9f9e829e5a798a1dbb6b46a98c8fb7810 by llvm-dev
Hexagon.h - remove unnecessary includes. NFCI.

Replace with forward declarations and move includes to implicit dependent files.
The file was modifiedllvm/lib/Target/Hexagon/Hexagon.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonFrameLowering.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonOptimizeSZextends.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonSubtarget.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonCFGOptimizer.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp
Commit b0ae5332dc2be682564d6fbcc9755c6ae5120086 by Louis Dionne
[libcxx] Make sure we pass -isysroot when linking AND when compiling
The file was modifiedlibcxx/utils/libcxx/test/config.py
The file was modifiedlibcxx/utils/libcxx/test/target_info.py
Commit 3d9c85e4d85bef3db495a37577f80b90ec9770b6 by resistor
Mark FMOV constant materialization as being as cheap as a move.

This prevents us from doing things like LICM'ing it out of a loop,
which is usually a net loss because we end up having to spill a
callee-saved FPR to accomodate it.

This does perturb instruction scheduling around this instruction,
so a number of tests had to be updated to account for it.

Reviewed By: t.p.northover

Differential Revision: https://reviews.llvm.org/D87316
The file was addedllvm/test/CodeGen/AArch64/fmov-imm-licm.ll
The file was modifiedllvm/test/CodeGen/AArch64/func-calls.ll
The file was modifiedllvm/test/CodeGen/AArch64/pow.ll
The file was modifiedllvm/test/CodeGen/AArch64/swifterror.ll
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/AArch64/small-constant.ll
The file was modifiedllvm/test/CodeGen/AArch64/fp-cond-sel.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was modifiedllvm/test/CodeGen/AArch64/arm64-aapcs.ll
Commit f42f733af968e75948442c578e8ad0ae101cc8a3 by llvm-dev
SwitchLoweringUtils.h - reduce TargetLowering.h include. NFCI.

Only include the headers we actually need, and move the remaining includes down to implicit dependent files.
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
The file was modifiedllvm/include/llvm/CodeGen/SwitchLoweringUtils.h
The file was modifiedllvm/lib/CodeGen/SwitchLoweringUtils.cpp
Commit c01d28dc51bdd33404828a327320e3307a51bb22 by ecaldas
[SyntaxTree] Specialize `TreeTestBase` for `BuildTreeTest`, `MutationsTest` and `SynthesisTest`

Differential Revision: https://reviews.llvm.org/D87374
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp
The file was modifiedclang/unittests/Tooling/Syntax/MutationsTest.cpp
The file was modifiedclang/unittests/Tooling/Syntax/TreeTestBase.h
The file was modifiedclang/unittests/Tooling/Syntax/CMakeLists.txt
The file was addedclang/unittests/Tooling/Syntax/SynthesisTest.cpp
The file was modifiedclang/unittests/Tooling/Syntax/TreeTestBase.cpp
Commit e5d92691bdf187c6815d33c32201fb8187010748 by Jonas Devlieghere
Fix typo in dsymutil.rst

Differential revision: https://reviews.llvm.org/D87438
The file was modifiedllvm/docs/CommandGuide/dsymutil.rst
Commit 5638df195048eef74d4ec2633f8fb6f3dd935f1d by benny.kra
Introduce linalg.vecmat

This patch adds a new named structured op to accompany linalg.matmul and
linalg.matvec. We needed it for our codegen, so I figured it would be useful
to add it to Linalg.

Reviewed By: nicolasvasilache, mravishankar

Differential Revision: https://reviews.llvm.org/D87292
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOpsSpec.tc
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/EDSC/Intrinsics.h
The file was modifiedmlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
Commit 626209cac0559ebe06a9bd4792fac5d31333c597 by Azharuddin Mohammed
Revert "[gcov] Delete flush_fn_list (unused since D83149)"

This reverts commit 01cdab0b335e21321987505e66f34c24dc55b0d7.

It was causing the instrprof-darwin-exports.c test to fail.
```
Undefined symbols for architecture x86_64:
  "_flush_fn_list", referenced from:
     -exported_symbol[s_list] command line option
```
The file was modifiedcompiler-rt/lib/profile/GCDAProfiling.c
Commit be7cef789e75a354831d528ecc76b325f0f5da68 by llvmgnsyncbot
[gn build] Port c01d28dc51b
The file was modifiedllvm/utils/gn/secondary/clang/unittests/Tooling/Syntax/BUILD.gn
Commit 009cd4e491033f57f547a7bda63e35b50a6e5cf7 by kbarton
[PPC][GlobalISel] Add initial GlobalIsel infrastructure

This adds the initial GlobalISel skeleton for PowerPC. It can only run
ir-translator and legalizer for `ret void`.

This is largely based on the initial GlobalISel patch for RISCV
(https://reviews.llvm.org/D65219).

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D83100
The file was addedllvm/lib/Target/PowerPC/GISel/PPCCallLowering.h
The file was modifiedllvm/lib/Target/PowerPC/PPC.td
The file was modifiedllvm/lib/Target/PowerPC/CMakeLists.txt
The file was addedllvm/lib/Target/PowerPC/GISel/PPCCallLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetMachine.cpp
The file was addedllvm/test/CodeGen/PowerPC/GlobalISel/irtranslator-ret.ll
The file was addedllvm/lib/Target/PowerPC/GISel/PPCRegisterBankInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCSubtarget.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPC.h
The file was modifiedllvm/lib/Target/PowerPC/PPCSubtarget.h
The file was addedllvm/lib/Target/PowerPC/GISel/PPCRegisterBankInfo.h
The file was addedllvm/lib/Target/PowerPC/GISel/PPCLegalizerInfo.cpp
The file was addedllvm/lib/Target/PowerPC/GISel/PPCInstructionSelector.cpp
The file was addedllvm/test/CodeGen/PowerPC/GlobalISel/legalize-ret.mir
The file was addedllvm/lib/Target/PowerPC/GISel/PPCRegisterBanks.td
The file was addedllvm/lib/Target/PowerPC/GISel/PPCLegalizerInfo.h
The file was modifiedllvm/lib/Target/PowerPC/LLVMBuild.txt
Commit 6b13cfe7399b0aba726873f807ddfcdd9f967563 by etiotto
[ArgumentPromotion]: Copy function metadata after promoting arguments

The argument promotion pass currently fails to copy function annotations
over to the modified function after promoting arguments.
This patch copies the original function annotation to the new function.

Reviewed By: fhann

Differential Revision: https://reviews.llvm.org/D86630
The file was modifiedllvm/test/Transforms/ArgumentPromotion/profile.ll
The file was modifiedllvm/lib/Transforms/IPO/ArgumentPromotion.cpp
Commit c464f1d8f9a04d7b4b6cc81eac0891c46aba5950 by stilis
[lldb, tests] Correctly configure the yaml2obj paths

They are currently not being set correctly for the case of multi-config generators like XCode and VS. There's also a typo in one of the cmake files.

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D87466
The file was modifiedlldb/test/API/lit.site.cfg.py.in
The file was modifiedlldb/utils/lldb-dotest/CMakeLists.txt
Commit ab1de1fcfb0c53bc768deb8f8bacefad7d378b7b by i
[gcov] Delete flush_fn_list (unused since D83149)
The file was modifiedcompiler-rt/lib/profile/GCDAProfiling.c
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp
Commit e543708e5ea7af0ec3ef11d6fe932db507472aa1 by mtrofin
[NFC][ThinLTO] Let llvm::EmbedBitcodeInModule handle serialization.

llvm::EmbedBitcodeInModule handles serializing the passed-in module, if
the provided MemoryBufferRef is invalid. This is already the path taken
in one of the uses of the API - clang::EmbedBitcode, when called from
BackendConsumer::HandleTranslationUnit - so might as well do the same
here and reduce (by very little) code duplication.

The only difference this patch introduces is that the serialization happens
with ShouldPreserveUseListOrder set to true.

Differential Revision: https://reviews.llvm.org/D87339
The file was modifiedllvm/lib/LTO/LTOBackend.cpp
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp
The file was modifiedllvm/include/llvm/Bitcode/BitcodeWriter.h
Commit 932aae77e92b08e63c0225b6eb37dfa80b310313 by SourabhSingh.Tomar
Revert D86875 "[Flang][NFC] Remove license comments from files in docs/ folder."

This reverts commit f787c9a90c69f, this was causing some build issues.
The file was modifiedflang/docs/ModFiles.md
The file was modifiedflang/docs/Character.md
The file was modifiedflang/docs/ControlFlowGraph.md
The file was modifiedflang/docs/LabelResolution.md
The file was modifiedflang/docs/PullRequestChecklist.md
The file was modifiedflang/docs/RuntimeDescriptor.md
The file was modifiedflang/docs/FortranIR.md
The file was modifiedflang/docs/OpenMP-semantics.md
The file was modifiedflang/docs/Overview.md
The file was modifiedflang/docs/Extensions.md
The file was modifiedflang/docs/FortranForCProgrammers.md
The file was modifiedflang/docs/OptionComparison.md
The file was modifiedflang/docs/Intrinsics.md
The file was modifiedflang/docs/ImplementingASemanticCheck.md
The file was modifiedflang/docs/ParserCombinators.md
The file was modifiedflang/docs/Semantics.md
The file was modifiedflang/docs/Directives.md
The file was modifiedflang/docs/Calls.md
The file was modifiedflang/docs/Preprocessing.md
The file was modifiedflang/docs/Parsing.md
The file was modifiedflang/docs/ArrayComposition.md
The file was modifiedflang/docs/IORuntimeInternals.md
The file was modifiedflang/docs/C++17.md
The file was modifiedflang/docs/C++style.md
Commit cb8cb28ed90a10390bacb264d3b6cbb09c2ea94c by n54
[compiler-rt] [netbsd] Add fallback definitions for MKISCSI=no

Add dev/iscsi/iscsi_ioctl.h fallback ioctl(2) operations.
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cpp
Commit b85c085c846c2cb5d24812555847846877ca13cb by n54
[compiler-rt] [netbsd] Improve code formatting

No functional change.
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cpp
Commit 46329f6079da99133eab7942e79226b2afb40e75 by anna
[ImplicitNullCheck] Handle instructions that preserve zero value

This is the first in a series of patches to make implicit null checks
more general. This patch identifies instructions that preserves zero
value of a register and considers that as a valid instruction to hoist
along with the faulting load. See added testcases.

Reviewed-By: reames, dantrushin

Differential Revision: https://reviews.llvm.org/D87108
The file was modifiedllvm/test/CodeGen/X86/implicit-null-check.ll
The file was modifiedllvm/include/llvm/CodeGen/TargetInstrInfo.h
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedllvm/lib/CodeGen/ImplicitNullChecks.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.h
The file was modifiedllvm/test/CodeGen/X86/implicit-null-check-negative.ll