SuccessChanges

Summary

  1. [clangd] Update clangd-vscode docs to be more user-focused. Summary: Relegate "updating the extension" docs to a separate file. Reviewers: hokein, kadircet Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D67092
  2. [AArch64][SVE] Implement abs and neg intrinsics Summary: This patch implements two arithmetic intrinsics: * int_aarch64_sve_abs * int_aarch64_sve_neg testing the support for scalable vector types in intrinsics added in D65930. Reviewed By: greened Differential Revision: https://reviews.llvm.org/D65931
  3. [ARM] Prevent generating NEON stack accesses under MVE. We should not be generating Neon stack loads/stores even for these large registers. No test here because my understanding is we will only generate these QQPR regs for intrinsics and VLDn's. The tests will follow once those are available. Differential revision: https://reviews.llvm.org/D67169
  4. GlobalISel: fix unused warnings in release builds.
  5. GlobalISel: add combiner to form indexed loads. Loosely based on DAGCombiner version, but this part is slightly simpler in GlobalIsel because all address calculation is performed by G_GEP. That makes the inc/dec distinction moot so there's just pre/post to think about. No targets can handle it yet so testing is via a special flag that overrides target hooks.
  6. [yaml2obj] - Fix BB after r371380 Just a fix for an input file name.
  7. [lib/ObjectYAML] - Improve and cleanup error reporting in ELFState<ELFT> class. The aim of this patch is to refactor how we handle and report error. I suggest to use the same approach we use in LLD: delayed error reporting. For that I introduced 'HasError' flag which triggers when we report an error. Now we do not exit instantly on any error. The benefits are: 1) There are no more 'exit(1)' calls in the library code. 2) Code was simplified significantly in a few places. 3) It is now possible to print multiple errors instead of only one. Also, I changed the messages to be lower case and removed a full stop. Differential revision: https://reviews.llvm.org/D67182
  8. [clangd] Highlight typedefs to template parameters as template parameters Summary: Template parameters were handled outside `addType`, this led to lack of highlightings for typedefs to template types. This was never desirable, we want to highlight our typedefs as their underlying type. Note that typedefs to more complicated types, like pointers and references are still not highlighted. Original patch by Johan Vikström. Reviewers: hokein, jvikstrom Reviewed By: hokein Subscribers: nridge, javed.absar, kristof.beyls, MaskRay, jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D66516
  9. [clangd] Replace HighlightingKind::NumKinds with LastKind. NFC Summary: The latter simplifies the client code by avoiding the need to handle it as a separate case statement. Reviewers: hokein Reviewed By: hokein Subscribers: nridge, MaskRay, jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D67277
  10. [ARM][MVE] Decoding of uqrshl and sqrshl accepts unpredictable encodings Specify the Unpredictable bits, and return softfails when appropriate. Patch by Mark Murray! Differential revision: https://reviews.llvm.org/D66939
  11. [clangd] Improve output of semantic highlighting tests in case of failures Summary: Instead of matching lists of highlightings, we annotate input code with resulting highlightings and diff it against the expected annotated input. In case of failures, this produces much nicer output in form of text-based diffs. Reviewers: hokein Reviewed By: hokein Subscribers: nridge, MaskRay, jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D67274
  12. [ARM][ParallelDSP] Fix for sext input The incoming accumulator value can be discovered through a sext, in which case there will be a mismatch between the input and the result. So sign extend the accumulator input if we're performing a 64-bit mac. Differential Revision: https://reviews.llvm.org/D67220
  13. [SystemZ] NFC: use clearRegisterDeads() in SystemZElimCompare.cpp This is simpler than using findRegisterDefOperandIdx() + setIsDead(). Review: Ulrich Weigand.
  14. [X86] Add broadcast load unfolding support for vpcmpeq/vpcmpgt/vpcmp/vpcmpu.
  15. [X86] Add broadcast load unfolding tests for vpcmpeq/vpcmpgt/vpcmp/vpcmpu.
  16. [X86] Add broadcast load unfold support for smin/umin/smax/umax.
  17. [X86] Add broadcast load unfolding tests for smin/umin/smax/smin.
Revision 371390 by sammccall:
[clangd] Update clangd-vscode docs to be more user-focused.

Summary: Relegate "updating the extension" docs to a separate file.

Reviewers: hokein, kadircet

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D67092
Change TypePath in RepositoryPath in Workspace
The file was added/clang-tools-extra/trunk/clangd/clients/clangd-vscode/DEVELOPING.mdclang-tools-extra.src/clangd/clients/clangd-vscode/DEVELOPING.md
The file was modified/clang-tools-extra/trunk/clangd/clients/clangd-vscode/README.mdclang-tools-extra.src/clangd/clients/clangd-vscode/README.md
The file was added/clang-tools-extra/trunk/clangd/clients/clangd-vscode/doc-assetsclang-tools-extra.src/clangd/clients/clangd-vscode/doc-assets
The file was added/clang-tools-extra/trunk/clangd/clients/clangd-vscode/doc-assets/complete.pngclang-tools-extra.src/clangd/clients/clangd-vscode/doc-assets/complete.png
The file was added/clang-tools-extra/trunk/clangd/clients/clangd-vscode/doc-assets/diagnostics.pngclang-tools-extra.src/clangd/clients/clangd-vscode/doc-assets/diagnostics.png
The file was added/clang-tools-extra/trunk/clangd/clients/clangd-vscode/doc-assets/extract.pngclang-tools-extra.src/clangd/clients/clangd-vscode/doc-assets/extract.png
The file was added/clang-tools-extra/trunk/clangd/clients/clangd-vscode/doc-assets/format.pngclang-tools-extra.src/clangd/clients/clangd-vscode/doc-assets/format.png
The file was added/clang-tools-extra/trunk/clangd/clients/clangd-vscode/doc-assets/include.pngclang-tools-extra.src/clangd/clients/clangd-vscode/doc-assets/include.png
The file was added/clang-tools-extra/trunk/clangd/clients/clangd-vscode/doc-assets/symbolsearch.pngclang-tools-extra.src/clangd/clients/clangd-vscode/doc-assets/symbolsearch.png
The file was added/clang-tools-extra/trunk/clangd/clients/clangd-vscode/doc-assets/xrefs.pngclang-tools-extra.src/clangd/clients/clangd-vscode/doc-assets/xrefs.png
Revision 371388 by c-rhodes:
[AArch64][SVE] Implement abs and neg intrinsics

Summary:
This patch implements two arithmetic intrinsics:

      * int_aarch64_sve_abs
      * int_aarch64_sve_neg

testing the support for scalable vector types in intrinsics added in D65930.

Reviewed By: greened

Differential Revision: https://reviews.llvm.org/D65931
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/IntrinsicsAArch64.tdllvm.src/include/llvm/IR/IntrinsicsAArch64.td
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64SVEInstrInfo.tdllvm.src/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modified/llvm/trunk/lib/Target/AArch64/SVEInstrFormats.tdllvm.src/lib/Target/AArch64/SVEInstrFormats.td
The file was added/llvm/trunk/test/CodeGen/AArch64/sve-intrinsics-int-arith.llllvm.src/test/CodeGen/AArch64/sve-intrinsics-int-arith.ll
Revision 371386 by dmgreen:
[ARM] Prevent generating NEON stack accesses under MVE.

We should not be generating Neon stack loads/stores even for these large
registers.

No test here because my understanding is we will only generate these QQPR regs
for intrinsics and VLDn's. The tests will follow once those are available.

Differential revision: https://reviews.llvm.org/D67169
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cppllvm.src/lib/Target/ARM/ARMBaseInstrInfo.cpp
Revision 371385 by Tim Northover:
GlobalISel: fix unused warnings in release builds.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/CombinerHelper.cppllvm.src/lib/CodeGen/GlobalISel/CombinerHelper.cpp
Revision 371384 by Tim Northover:
GlobalISel: add combiner to form indexed loads.

Loosely based on DAGCombiner version, but this part is slightly simpler in
GlobalIsel because all address calculation is performed by G_GEP. That makes
the inc/dec distinction moot so there's just pre/post to think about.

No targets can handle it yet so testing is via a special flag that overrides
target hooks.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/CombinerHelper.hllvm.src/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetLowering.hllvm.src/include/llvm/CodeGen/TargetLowering.h
The file was modified/llvm/trunk/include/llvm/Support/TargetOpcodes.defllvm.src/include/llvm/Support/TargetOpcodes.def
The file was modified/llvm/trunk/include/llvm/Target/GenericOpcodes.tdllvm.src/include/llvm/Target/GenericOpcodes.td
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/CombinerHelper.cppllvm.src/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cppllvm.src/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64.hllvm.src/lib/Target/AArch64/AArch64.h
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64PreLegalizerCombiner.cppllvm.src/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64TargetMachine.cppllvm.src/lib/Target/AArch64/AArch64TargetMachine.cpp
The file was added/llvm/trunk/test/CodeGen/AArch64/GlobalISel/combiner-load-store-indexing.llllvm.src/test/CodeGen/AArch64/GlobalISel/combiner-load-store-indexing.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/gisel-commandline-option.llllvm.src/test/CodeGen/AArch64/GlobalISel/gisel-commandline-option.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mirllvm.src/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
Revision 371383 by grimar:
[yaml2obj] - Fix BB after r371380

Just a fix for an input file name.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/yaml2obj/dynamic-symbols.yamlllvm.src/test/tools/yaml2obj/dynamic-symbols.yaml
Revision 371380 by grimar:
[lib/ObjectYAML] - Improve and cleanup error reporting in ELFState<ELFT> class.

The aim of this patch is to refactor how we handle and report error.

I suggest to use the same approach we use in LLD: delayed error reporting.
For that I introduced 'HasError' flag which triggers when we report an error.
Now we do not exit instantly on any error. The benefits are:

1) There are no more 'exit(1)' calls in the library code.
2) Code was simplified significantly in a few places.
3) It is now possible to print multiple errors instead of only one.

Also, I changed the messages to be lower case and removed a full stop.

Differential revision: https://reviews.llvm.org/D67182
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/ObjectYAML/ELFEmitter.cppllvm.src/lib/ObjectYAML/ELFEmitter.cpp
The file was modified/llvm/trunk/test/tools/yaml2obj/duplicate-section-names.testllvm.src/test/tools/yaml2obj/duplicate-section-names.test
The file was modified/llvm/trunk/test/tools/yaml2obj/duplicate-symbol-names.testllvm.src/test/tools/yaml2obj/duplicate-symbol-names.test
The file was modified/llvm/trunk/test/tools/yaml2obj/dynamic-section-raw-content.yamlllvm.src/test/tools/yaml2obj/dynamic-section-raw-content.yaml
The file was modified/llvm/trunk/test/tools/yaml2obj/dynamic-symbols.yamlllvm.src/test/tools/yaml2obj/dynamic-symbols.yaml
The file was modified/llvm/trunk/test/tools/yaml2obj/dynsymtab-implicit-sections-size-content.yamlllvm.src/test/tools/yaml2obj/dynsymtab-implicit-sections-size-content.yaml
The file was modified/llvm/trunk/test/tools/yaml2obj/elf-comdat-broken-info.yamlllvm.src/test/tools/yaml2obj/elf-comdat-broken-info.yaml
The file was added/llvm/trunk/test/tools/yaml2obj/elf-comdat-broken-members.yamlllvm.src/test/tools/yaml2obj/elf-comdat-broken-members.yaml
The file was modified/llvm/trunk/test/tools/yaml2obj/elf-custom-null-section.yamlllvm.src/test/tools/yaml2obj/elf-custom-null-section.yaml
The file was modified/llvm/trunk/test/tools/yaml2obj/program-header.yamlllvm.src/test/tools/yaml2obj/program-header.yaml
The file was modified/llvm/trunk/test/tools/yaml2obj/reloc-sec-info.yamlllvm.src/test/tools/yaml2obj/reloc-sec-info.yaml
The file was modified/llvm/trunk/test/tools/yaml2obj/relocation-missing-symbol.yamlllvm.src/test/tools/yaml2obj/relocation-missing-symbol.yaml
The file was modified/llvm/trunk/test/tools/yaml2obj/section-link.yamlllvm.src/test/tools/yaml2obj/section-link.yaml
The file was modified/llvm/trunk/test/tools/yaml2obj/symtab-implicit-sections-size-content.yamlllvm.src/test/tools/yaml2obj/symtab-implicit-sections-size-content.yaml
Revision 371379 by ibiryukov:
[clangd] Highlight typedefs to template parameters as template parameters

Summary:
Template parameters were handled outside `addType`, this led to lack of highlightings for typedefs
to template types.

This was never desirable, we want to highlight our typedefs as their underlying type.
Note that typedefs to more complicated types, like pointers and references are still not highlighted.

Original patch by Johan Vikström.

Reviewers: hokein, jvikstrom

Reviewed By: hokein

Subscribers: nridge, javed.absar, kristof.beyls, MaskRay, jkorous, arphaman, kadircet, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D66516
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/SemanticHighlighting.cppclang-tools-extra.src/clangd/SemanticHighlighting.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/SemanticHighlightingTests.cppclang-tools-extra.src/clangd/unittests/SemanticHighlightingTests.cpp
Revision 371375 by ibiryukov:
[clangd] Replace HighlightingKind::NumKinds with LastKind. NFC

Summary:
The latter simplifies the client code by avoiding the need to handle it
as a separate case statement.

Reviewers: hokein

Reviewed By: hokein

Subscribers: nridge, MaskRay, jkorous, arphaman, kadircet, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D67277
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/ClangdLSPServer.cppclang-tools-extra.src/clangd/ClangdLSPServer.cpp
The file was modified/clang-tools-extra/trunk/clangd/SemanticHighlighting.cppclang-tools-extra.src/clangd/SemanticHighlighting.cpp
The file was modified/clang-tools-extra/trunk/clangd/SemanticHighlighting.hclang-tools-extra.src/clangd/SemanticHighlighting.h
Revision 371374 by ostannard:
[ARM][MVE] Decoding of uqrshl and sqrshl accepts unpredictable encodings

Specify the Unpredictable bits, and return softfails when appropriate.

Patch by Mark Murray!

Differential revision: https://reviews.llvm.org/D66939
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrMVE.tdllvm.src/lib/Target/ARM/ARMInstrMVE.td
The file was modified/llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cppllvm.src/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
The file was added/llvm/trunk/test/MC/Disassembler/ARM/mve-scalar-shift-unpredictable.txtllvm.src/test/MC/Disassembler/ARM/mve-scalar-shift-unpredictable.txt
Revision 371373 by ibiryukov:
[clangd] Improve output of semantic highlighting tests in case of failures

Summary:
Instead of matching lists of highlightings, we annotate input code with
resulting highlightings and diff it against the expected annotated input.

In case of failures, this produces much nicer output in form of text-based
diffs.

Reviewers: hokein

Reviewed By: hokein

Subscribers: nridge, MaskRay, jkorous, arphaman, kadircet, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D67274
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/SemanticHighlighting.cppclang-tools-extra.src/clangd/SemanticHighlighting.cpp
The file was modified/clang-tools-extra/trunk/clangd/SemanticHighlighting.hclang-tools-extra.src/clangd/SemanticHighlighting.h
The file was modified/clang-tools-extra/trunk/clangd/unittests/SemanticHighlightingTests.cppclang-tools-extra.src/clangd/unittests/SemanticHighlightingTests.cpp
Revision 371370 by sam_parker:
[ARM][ParallelDSP] Fix for sext input
   
The incoming accumulator value can be discovered through a sext, in
which case there will be a mismatch between the input and the result.
So sign extend the accumulator input if we're performing a 64-bit mac.

Differential Revision: https://reviews.llvm.org/D67220
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMParallelDSP.cppllvm.src/lib/Target/ARM/ARMParallelDSP.cpp
The file was modified/llvm/trunk/test/CodeGen/ARM/ParallelDSP/blocks.llllvm.src/test/CodeGen/ARM/ParallelDSP/blocks.ll
The file was added/llvm/trunk/test/CodeGen/ARM/ParallelDSP/sext-acc.llllvm.src/test/CodeGen/ARM/ParallelDSP/sext-acc.ll
Revision 371369 by jonpa:
[SystemZ]  NFC: use clearRegisterDeads() in SystemZElimCompare.cpp

This is simpler than using findRegisterDefOperandIdx() + setIsDead().

Review: Ulrich Weigand.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZElimCompare.cppllvm.src/lib/Target/SystemZ/SystemZElimCompare.cpp
Revision 371368 by ctopper:
[X86] Add broadcast load unfolding support for vpcmpeq/vpcmpgt/vpcmp/vpcmpu.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86InstrFoldTables.cppllvm.src/lib/Target/X86/X86InstrFoldTables.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-broadcast-unfold.llllvm.src/test/CodeGen/X86/avx512-broadcast-unfold.ll
Revision 371367 by ctopper:
[X86] Add broadcast load unfolding tests for vpcmpeq/vpcmpgt/vpcmp/vpcmpu.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-broadcast-unfold.llllvm.src/test/CodeGen/X86/avx512-broadcast-unfold.ll
Revision 371366 by ctopper:
[X86] Add broadcast load unfold support for smin/umin/smax/umax.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86InstrFoldTables.cppllvm.src/lib/Target/X86/X86InstrFoldTables.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-broadcast-unfold.llllvm.src/test/CodeGen/X86/avx512-broadcast-unfold.ll
Revision 371365 by ctopper:
[X86] Add broadcast load unfolding tests for smin/umin/smax/smin.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-broadcast-unfold.llllvm.src/test/CodeGen/X86/avx512-broadcast-unfold.ll