SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. GlobalISel: Fix IRTranslator for constantexpr selects (details)
  2. [VPlan] Remove unique_ptr from VPBranchOnRecipeMask (NFC). (details)
  3. [clangd] Delete regex assertion, breaking on windows too... (details)
  4. [VPlan] Add & use VPValue operands for VPReplicateRecipe (NFC). (details)
  5. [analyzer] SATestBuild.py: Optionally override compiler (details)
  6. MachineBasicBlock.h - remove unnecessary includes. NFC. (details)
  7. CommandLine.h - remove unnecessary raw_ostream forward declaration. NFC. (details)
  8. MCTargetOptionsCommandFlags.h - remove unnecessary includes. NFC. (details)
  9. [lld] Remove unused lld/test/Driver/Inputs/**/libtest.a (details)
  10. [mlir] scf::ForOp: provide builders with callbacks for loop body (details)
  11. [VPlan] Fix comment for User in VPWidenSelectRecipe (NFC). (details)
  12. [lld-macho] Support -order_file (details)
  13. [lld-macho] Support .subsections_via_symbols (details)
  14. [lld-macho] Support X86_64_RELOC_UNSIGNED (details)
  15. [clangd] findExplicitReferences supports goto labels (details)
  16. [clangd] Avoid StringRef entirely with gmock (details)
  17. [analyzer] Don't print the config count in debug.ConfigDumper (details)
  18. [clang][AIX] Implement ABIInfo and TargetCodeGenInfo for AIX (details)
  19. [analyzer][Nullability] Don't emit under the checker name NullabilityBase (details)
  20. [MLIR] Update the FunctionAndBlockSignatureConverter and NonVoidToVoidReturnOpConverter of Buffer Assignment (details)
  21. [clangd-remote] Replace YAML serialization with proper Protobuf messages (details)
  22. Revert "[lld-macho] Support X86_64_RELOC_UNSIGNED" (details)
  23. Revert "[lld-macho] Support .subsections_via_symbols" (details)
Commit a7759d178508771a5ccec2b02ca3f3bd40af4409 by Matthew.Arsenault
GlobalISel: Fix IRTranslator for constantexpr selects

This was assuming a select is always an instruction, which is not
true.
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-constantexpr.ll
Commit 66ad107452893517da93d25e58c16ba4669a00eb by flo
[VPlan] Remove unique_ptr from VPBranchOnRecipeMask (NFC).

We can remove a dynamic memory allocation, by checking the number of
operands: no operands = all true, 1 operand = mask.

Reviewers: Ayal, gilr, rengolin

Reviewed By: Ayal

Differential Revision: https://reviews.llvm.org/D80110
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
Commit 7ebf7d91e6132ba619f5b27895fc1b5f536a101b by sam.mccall
[clangd] Delete regex assertion, breaking on windows too...
The file was modifiedclang-tools-extra/clangd/unittests/support/TraceTests.cpp
Commit f828d75b46fac03b9340dc5643159cb3b446fb92 by flo
[VPlan] Add & use VPValue operands for VPReplicateRecipe (NFC).

This patch adds VPValue version of the instruction operands to
VPReplicateRecipe and uses them during code-generation.

Reviewers: Ayal, gilr, rengolin

Reviewed By: gilr

Differential Revision: https://reviews.llvm.org/D80114
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
Commit 6846aec7313f81d6d8fd5190d6b49eba9f038a8e by vsavchenko
[analyzer] SATestBuild.py: Optionally override compiler

Differential Revision: https://reviews.llvm.org/D80211
The file was modifiedclang/utils/analyzer/SATestBuild.py
Commit ac6a9971309bcd7ba353fd8d12154fd368498a0f by llvm-dev
MachineBasicBlock.h - remove unnecessary includes. NFC.

Don't explicitly include ilist_node.h + simple_ilist.h - we already include ilist.h that include these for us and all references are in terms of that.

The rest can be covered by forward declarations.
The file was modifiedllvm/include/llvm/CodeGen/MachineBasicBlock.h
Commit 64ba6ee1608a1233895f5e135211f61f84702925 by llvm-dev
CommandLine.h - remove unnecessary raw_ostream forward declaration. NFC.

We already have to include raw_ostream.h.
The file was modifiedllvm/include/llvm/Support/CommandLine.h
Commit f3b20c2ae7b5a27972f4b467d8d05f8bd036220a by llvm-dev
MCTargetOptionsCommandFlags.h - remove unnecessary includes. NFC.

Replace with MCTargetOptions forward declaration and move includes down to MCTargetOptionsCommandFlags.cpp
The file was modifiedllvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
The file was modifiedllvm/lib/MC/MCTargetOptionsCommandFlags.cpp
Commit 1aadd6ce6128a953066ab975fa6ae080df5ffc3b by jezng
[lld] Remove unused lld/test/Driver/Inputs/**/libtest.a

Under `lld/test/Driver/Inputs/`, all instances of `libtest.a` are
unreferenced. FYI, all of these are empty archives, and the files
contain only a magic number.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D80182
The file was removedlld/test/Driver/Inputs/usr/lib/libtest.a
The file was removedlld/test/Driver/Inputs/libtest.a
The file was removedlld/test/Driver/Inputs/usr/lib/i386/libtest.a
Commit d1560f3956f6396a2b10c721b96b4c7394019cc2 by zinenko
[mlir] scf::ForOp: provide builders with callbacks for loop body

Thanks to a recent change that made `::build` functions take an instance of
`OpBuilder`, it is now possible to build operations within a region attached to
the operation about to be created. Exercise this on `scf::ForOp` by taking a
callback that populates the loop body while the loop is being created.

Additionally, provide helper functions to build perfect nests of `ForOp`s,
with support for iteration arguments. These functions provide the same
functionality as EDSC LoopNestBuilder with simpler implementation, without
relying on edsc::ScopedContext, and using `OpBuilder` in an unambiguous way.
Compatibility functions for EDSC are provided, but may be removed in the
future.

Differential Revision: https://reviews.llvm.org/D79688
The file was modifiedmlir/lib/Dialect/SCF/EDSC/Builders.cpp
The file was modifiedmlir/lib/Dialect/SCF/SCF.cpp
The file was modifiedmlir/test/EDSC/builder-api-test.cpp
The file was modifiedmlir/lib/Dialect/GPU/Transforms/MemoryPromotion.cpp
The file was modifiedmlir/include/mlir/Dialect/SCF/SCFOps.td
The file was modifiedmlir/include/mlir/Dialect/SCF/SCF.h
The file was modifiedmlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
The file was modifiedmlir/include/mlir/Dialect/SCF/EDSC/Builders.h
Commit cff9399f6b90233a62eeb808277c98c615d44d8a by flo
[VPlan] Fix comment for User in VPWidenSelectRecipe (NFC).

The comment was referring the arguments of the call, but the recipe
widens a select.
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
Commit 55e9eb416ee5af91d519a0b7d550c549f18257b0 by jezng
[lld-macho] Support -order_file

The order file indicates how input sections should be sorted within each
output section, based on the symbols contained within those sections.

This diff sets the stage for implementing and testing
`.subsections_via_symbols`, where we will break up InputSections by each
symbol and sort them more granularly.

Reviewed By: smeenai

Differential Revision: https://reviews.llvm.org/D79668
The file was addedlld/test/MachO/invalid/order-file-bad-objfile.test
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/OutputSegment.cpp
The file was modifiedlld/MachO/OutputSegment.h
The file was modifiedlld/MachO/OutputSection.h
The file was modifiedlld/MachO/MergedOutputSection.h
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/SyntheticSections.h
The file was modifiedlld/MachO/Options.td
The file was addedlld/test/MachO/invalid/order-file-bad-arch.test
The file was addedlld/test/MachO/order-file.s
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/Config.h
Commit e270b2f1727c0fbde2676e8d0340c0d934726d3c by jezng
[lld-macho] Support .subsections_via_symbols

This diff restores and builds upon @pcc and @ruiu's initial work on
subsections.

The .subsections_via_symbols directive indicates we can split each
section along symbol boundaries, unless those symbols have been marked
with `.alt_entry`.

We exercise this functionality in our tests by using order files that
rearrange those symbols.

Reviewed By: smeenai

Differential Revision: https://reviews.llvm.org/D79926
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/InputFiles.h
The file was addedlld/test/MachO/subsections-symbol-relocs.s
The file was modifiedlld/MachO/InputSection.cpp
The file was modifiedlld/MachO/InputSection.h
The file was addedlld/test/MachO/subsections-section-relocs.s
The file was modifiedlld/MachO/Driver.cpp
Commit 1f820e35596bac036a7f759c4de41fcc2e642719 by jezng
[lld-macho] Support X86_64_RELOC_UNSIGNED

Note that it's only used for non-pc-relative contexts.

Reviewed By: MaskRay, smeenai

Differential Revision: https://reviews.llvm.org/D80048
The file was modifiedlld/MachO/InputSection.cpp
The file was modifiedlld/MachO/Target.h
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/Arch/X86_64.cpp
The file was addedlld/test/MachO/x86-64-reloc-unsigned.s
The file was modifiedlld/MachO/InputSection.h
Commit b0d94964da8cf6c24ece253fdfc7f9e8016afee9 by sam.mccall
[clangd] findExplicitReferences supports goto labels

Summary:
This means they're renamable and textDocument/highlight works

This fell out of D78454

Reviewers: adamcz

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80170
The file was modifiedclang-tools-extra/clangd/unittests/FindTargetTests.cpp
The file was modifiedclang-tools-extra/clangd/FindTarget.cpp
Commit 5bc0c8f009261425a25c1bb109f81b454c928bf5 by sam.mccall
[clangd] Avoid StringRef entirely with gmock
The file was modifiedclang-tools-extra/clangd/unittests/support/TraceTests.cpp
Commit 268fa40daa151d3b4bff1df12b62e5dae94685d7 by dkszelethus
[analyzer] Don't print the config count in debug.ConfigDumper

I think anyone who added a checker config wondered why is there a need
to test this. Its just a chore when adding a new config, so I removed
it.

To give some historic insight though, we used to not list **all**
options, but only those explicitly added to AnalyzerOptions, such as the
ones specified on the command line. However, past this change (and
arguably even before that) this line makes little sense.

There is an argument to be made against the entirety of
analyzer-config.c test file, but since this commit fixes some builtbots
and is landing without review, I wouldn't like to be too invasive.
The file was modifiedclang/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp
The file was modifiedclang/test/Analysis/analyzer-config.c
Commit 7f5d91d3ffedf89823f36a5eba5ec586bc885545 by jasonliu
[clang][AIX] Implement ABIInfo and TargetCodeGenInfo for AIX

Summary:
Created AIXABIInfo and AIXTargetCodeGenInfo for AIX ABI.

Reviewed By: Xiangling_L, ZarkoCA

Differential Revision: https://reviews.llvm.org/D79035
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was addedclang/test/Frontend/aix-unsupported.c
The file was modifiedclang/test/CodeGen/ppc64-dwarf.c
The file was addedclang/test/CodeGen/aix-vaargs.c
The file was removedclang/test/CodeGen/ppc32-struct-return.c
The file was addedclang/test/CodeGen/aix-vector.c
The file was addedclang/test/CodeGen/ppc32-and-aix-struct-return.c
The file was addedclang/test/CodeGen/ppc32-dwarf.c
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was addedclang/test/CodeGen/aix-complex.c
The file was addedclang/test/CodeGen/aix-struct-arg.c
The file was addedclang/test/CodeGen/aix-return.c
Commit e4e1080a5837e4a4f38c46b9974f2b2402bb021a by dkszelethus
[analyzer][Nullability] Don't emit under the checker name NullabilityBase

Differential Revision: https://reviews.llvm.org/D78122
The file was modifiedclang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
The file was modifiedclang/test/Analysis/Inputs/expected-plists/nullability-notes.m.plist
The file was modifiedclang/test/Analysis/incorrect-checker-names.mm
Commit 346830051105a849d7fc3ceb246e65acbc0264ae by ehsan.nadjaran_toosi
[MLIR] Update the FunctionAndBlockSignatureConverter and NonVoidToVoidReturnOpConverter of Buffer Assignment

Making these two converters more generic. FunctionAndBlockSignatureConverter now
moves only memref results (after type conversion) to the function argument and
keeps other legal function results unchanged. NonVoidToVoidReturnOpConverter is
renamed to NoBufferOperandsReturnOpConverter. It removes only the buffer
operands from the operands of the converted ReturnOp and inserts CopyOps to copy
each buffer to the target function argument.

Differential Revision: https://reviews.llvm.org/D79329
The file was modifiedmlir/lib/Transforms/BufferPlacement.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/TensorsToBuffers.cpp
The file was modifiedmlir/test/lib/Transforms/TestBufferPlacement.cpp
The file was addedmlir/test/Transforms/buffer-placement-preparation.mlir
The file was modifiedmlir/include/mlir/Transforms/BufferPlacement.h
The file was removedmlir/test/Transforms/buffer-placement-prepration.mlir
Commit c6b2b784299b5b8c2081b4e7e76eeab80e9b81ee by kbobyrev
[clangd-remote] Replace YAML serialization with proper Protobuf messages

Summary:
YAML serialization was used in the Proof of Concept for simplicity.
This patch replaces implements Protobuf (de) serialization of almost all
types that need to be transferred over the protocol.

Reviewers: sammccall

Reviewed By: sammccall

Subscribers: mgorny, ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D79862
The file was modifiedclang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
The file was addedclang-tools-extra/clangd/unittests/remote/MarshallingTests.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/Index.proto
The file was modifiedclang-tools-extra/clangd/unittests/TestTU.h
The file was modifiedclang-tools-extra/clangd/index/remote/Client.cpp
The file was modifiedclang-tools-extra/clangd/unittests/TestTU.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CMakeLists.txt
Commit db8559eee4a07c44babcc4618eef3d185cf79cc6 by jezng
Revert "[lld-macho] Support X86_64_RELOC_UNSIGNED"

This reverts commit 1f820e35596bac036a7f759c4de41fcc2e642719.
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/Target.h
The file was modifiedlld/MachO/InputSection.h
The file was modifiedlld/MachO/InputSection.cpp
The file was modifiedlld/MachO/Arch/X86_64.cpp
The file was removedlld/test/MachO/x86-64-reloc-unsigned.s
Commit 70fbbcdd3437e9890307ef23d7057c565f142c44 by jezng
Revert "[lld-macho] Support .subsections_via_symbols"

Due to build breakage mentioned in https://reviews.llvm.org/D79926.

This reverts commit e270b2f1727c0fbde2676e8d0340c0d934726d3c.
The file was modifiedlld/MachO/InputSection.h
The file was modifiedlld/MachO/InputSection.cpp
The file was removedlld/test/MachO/subsections-section-relocs.s
The file was modifiedlld/MachO/InputFiles.h
The file was removedlld/test/MachO/subsections-symbol-relocs.s
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/InputFiles.cpp