SuccessChanges

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

Summary

  1. SVML support for log10, sqrt (details)
  2. [LowerSwitch][NewPM] Port lowerswitch to NPM (details)
  3. [NewPM] Port strip* passes to NPM (details)
  4. [Hexagon] Replace incorrect pattern for vpackl HWI32 -> HVi8 (details)
  5. [PDB] Drop LF_PRECOMP from debugTypes earlier (details)
  6. Fix test after D86156. (details)
  7. [X86] Always use 16-bit displacement in 16-bit mode when there is no base or index register. (details)
  8. [NewPM] Fix 2003-02-19-LoopInfoNestingBug.ll under NPM (details)
  9. [NewPM][SCEV] Fix constant-fold-gep.ll under NPM (details)
  10. [NewPM] Fix opt-hot-cold-split.ll under NPM (details)
  11. Fully qualify some more namespace in MLIR ODS to be more friendly to dialects not defined under the mlir namespace (NFC) (details)
  12. [InstCombine] Add tests for statepoint simplification (details)
  13. [Test] Add signed version of a test (details)
  14. [clang-tidy] Fix crash in modernize-use-noexcept on uninstantiated throw class (details)
  15. [lldb] Reword CompilerType docstring to not say "generic type" (details)
  16. [MLIR][NFC] Value print update for block arguments (details)
  17. libclc: Add a __builtin to let SPIRV targets select between SW and HW FMA (details)
  18. [ThinLTO] Relax thinlto_embed_bitcode.ll check (details)
  19. [X86] Add test case for non-power of 2 scatter. NFC (details)
  20. [X86] Don't scalarize gather/scatters with non-power of 2 element counts. Widen instead. (details)
  21. [MemorySSA] Set MustDominate to true for PhiTranslation. (details)
  22. [llvm-rc] Allow omitting components from VERSIONINFO versions (details)
  23. [llvm-rc] Update a comment. NFC. (details)
  24. [llvm-rc] Lowercase the option definitions. NFC. (details)
  25. [obj2yaml] Add support for dumping the .debug_addr(v5) section. (details)
  26. [MemorySSA] Report unoptimized as None, not MayAlias. (details)
  27. [Test] Some more potential range check elimination opportunities (details)
  28. [flang] Fix docs build (details)
  29. [Test] Add positive range checks tests in addition to negative (details)
  30. Revert "[Asan] Fix false leak report" (details)
  31. Revert "[Asan] Accept __lsan_ignore_object for redzone pointer" (details)
  32. [ARM][MachineOutliner] Add calls handling. (details)
  33. [clangd] Don't use zlib when it's unavailable. (details)
  34. [ARM][LowOverheadLoops] Combine a VCMP and VPST into a VPT (details)
  35. Follow up rG635b87511ec3: forgot to add/commit the new test file. NFC. (details)
  36. [DebugInfo][flang] DISubrange support for fortran assumed size array (details)
  37. [llvm-readobj][test] - Address a forgotten review comment for D86923. (details)
  38. [clangd] Implement hot index reloading for clangd-index-server (details)
  39. [Support] Add GlobPattern::isTrivialMatchAll() (details)
  40. [LLD][ELF] Optimize linker script filename glob pattern matching NFC (details)
  41. [llvm-readobj][test] - Improve section-symbols.test (details)
  42. [ARM][LowOverheadLoops] Fix tests after ef0b9f3 (details)
  43. [clang-tidy] Improve documentation on Clangd integration (details)
  44. [DAG] Remover getOperand() call. NFCI. (details)
  45. Fix table formatting after D87686 (details)
  46. [ARM] Add more validForTailPredication (details)
  47. [ARM] Fix tail predication predicate tracking (details)
  48. [clangd] Actually parse Index section of the YAML file. (details)
  49. [clang-tidy] Crash fix for bugprone-misplaced-pointer-arithmetic-in-alloc (details)
  50. [ASTMatchers] Fix `hasBody` for the descendants of `FunctionDecl` (details)
Commit 056534dc2b15ed1d276bead76f054cc7ac9d2bf1 by aktoon
SVML support for log10, sqrt

Although LLVM supports vectorization of loops containing log10/sqrt, it did not support using SVML implementation of it. Added support so that when clang is invoked with -fveclib=SVML now an appropriate SVML library log2 implementation will be invoked.

Follow up on: https://reviews.llvm.org/D77114

Tests:
Added unit tests to svml-calls.ll, svml-calls-finite.ll. Can be run with llvm-lint.
Created a simple c++ file that tests log10/sqrt, and used clang+ to build it, and output final assembly.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D87169
The file was modifiedllvm/include/llvm/Analysis/VecFuncs.def
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/svml-calls.ll
The file was modifiedllvm/test/Transforms/Util/add-TLI-mappings.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/svml-calls-finite.ll
Commit f7aa1563eb5ff00416fba373073ba19832b6fc34 by aeubanks
[LowerSwitch][NewPM] Port lowerswitch to NPM

Reviewed By: ychen

Differential Revision: https://reviews.llvm.org/D87726
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was addedllvm/include/llvm/Transforms/Utils/LowerSwitch.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/lib/Transforms/Utils/UnifyLoopExits.cpp
The file was modifiedllvm/lib/Transforms/Utils/Utils.cpp
The file was modifiedllvm/test/Transforms/LowerSwitch/feature.ll
The file was modifiedllvm/lib/Transforms/Utils/FixIrreducible.cpp
The file was modifiedllvm/lib/Transforms/Utils/LowerSwitch.cpp
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/lib/Transforms/Scalar/StructurizeCFG.cpp
Commit ba12e77ec16b38a4498610c6b8cdeb1a7e8a6aae by aeubanks
[NewPM] Port strip* passes to NPM

strip-nondebug and strip-debug-declare have no existing associated tests

Reviewed By: ychen

Differential Revision: https://reviews.llvm.org/D87639
The file was modifiedllvm/test/Transforms/StripSymbols/strip-dead-debug-info.ll
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/lib/Transforms/IPO/StripSymbols.cpp
The file was addedllvm/include/llvm/Transforms/IPO/StripSymbols.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/test/Transforms/StripSymbols/2007-01-15-llvm.used.ll
Commit 5f4abb7fab1c6a87f059ed8732fd12b237f4805d by kparzysz
[Hexagon] Replace incorrect pattern for vpackl HWI32 -> HVi8

V6_vdealb4w is not correct for pairs, use V6_vpackeh/V6_vpackeb instead.
The file was modifiedllvm/lib/Target/Hexagon/HexagonPatternsHVX.td
The file was modifiedllvm/test/CodeGen/Hexagon/autohvx/widen-trunc.ll
The file was modifiedllvm/test/CodeGen/Hexagon/autohvx/isel-widen-truncate-pair.ll
Commit 1b88845ce1b7731a062c3d1fcc80d201c70e4a44 by rnk
[PDB] Drop LF_PRECOMP from debugTypes earlier

This is a minor simplification to avoid firing up a BinaryStreamReader
and CVType parser.
The file was modifiedlld/COFF/DebugTypes.cpp
The file was modifiedlld/COFF/InputFiles.cpp
Commit 3b3ca5c989f9f8e29e4b8b10e77eb08c2b822533 by asbirlea
Fix test after D86156.
The file was modifiedllvm/test/CodeGen/AMDGPU/opt-pipeline.ll
Commit 2ce1a697f037469e737db1ad41dfa14ec653ec53 by craig.topper
[X86] Always use 16-bit displacement in 16-bit mode when there is no base or index register.

Previously we only did this if the immediate fit in 16 bits, but
the GNU assembler seems to just truncate.

Fixes PR46952
The file was modifiedllvm/test/MC/X86/x86-16.s
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
Commit 3b38062d1c8b6965ded5b6bc686db63f1a59e818 by aeubanks
[NewPM] Fix 2003-02-19-LoopInfoNestingBug.ll under NPM

Also move it to a more appropriate directory.
The file was addedllvm/test/Analysis/LoopInfo/2003-02-19-LoopInfoNestingBug.ll
The file was removedllvm/test/Other/2003-02-19-LoopInfoNestingBug.ll
Commit b1b187a1386e5d7bfecb2a63dc8c654583684e22 by aeubanks
[NewPM][SCEV] Fix constant-fold-gep.ll under NPM
The file was modifiedllvm/test/Other/constant-fold-gep.ll
Commit bb371f8ce8c2fc77e0ab6c87d253a1d1db00d0eb by aeubanks
[NewPM] Fix opt-hot-cold-split.ll under NPM

Pin to legacy PM, there are already NPM RUN lines.
The file was modifiedllvm/test/Other/opt-hot-cold-split.ll
Commit 37c5dbb31a2fa9aa6618efe56ab0d6cd8f358957 by joker.eph
Fully qualify some more namespace in MLIR ODS to be more friendly to dialects not defined under the mlir namespace (NFC)
The file was modifiedmlir/include/mlir/Interfaces/SideEffectInterfaces.td
Commit 00f09dd4c13d7e86d07728ba03700a18e9013adf by serguei.katkov
[InstCombine] Add tests for statepoint simplification

This tests increase coverage for change introduced in D85959

Reviewers: reames, reames
Reviewed By: reames
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D87224
The file was addedllvm/test/Transforms/InstCombine/statepoint-cleanup.ll
Commit 8a04cdb510c89b8c6419d6ce1e98967d7ac9abb2 by mkazantsev
[Test] Add signed version of a test
The file was modifiedllvm/test/Transforms/IndVarSimplify/predicated_ranges.ll
Commit 96c6d012dfe2492891d0f0450dd7cd5f3c1ca88c by Zinovy Nis
[clang-tidy] Fix crash in modernize-use-noexcept on uninstantiated throw class

Bug: https://bugs.llvm.org/show_bug.cgi?id=47446

Differential Revision: https://reviews.llvm.org/D87627
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/modernize-use-noexcept-opt.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseNoexceptCheck.cpp
Commit 757ac4ccfb8b024454b4f445a2b5c8985da5dc8a by davelee.com
[lldb] Reword CompilerType docstring to not say "generic type"

Since "generic type" has a precise meaning in some languages, reword the docstring of `CompilerType` to avoid ambiguity.

Differential Revision: https://reviews.llvm.org/D87633
The file was modifiedlldb/include/lldb/Symbol/CompilerType.h
Commit 9c40495a35a2cac89dd72db54892d6bd7a2abf0d by uday
[MLIR][NFC] Value print update for block arguments

Emit some more information when printing/dumping `Value`s of
`BlockArgument` kind. This is purely to help for debugging purposes.

Differential Revision: https://reviews.llvm.org/D87670
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
Commit 291bfff5dbb70360730e91b4019f8080e4e3d7f5 by jano.vesely
libclc: Add a __builtin to let SPIRV targets select between SW and HW FMA

Reviewer: jenatali jvesely
Differential Revision: https://reviews.llvm.org/D85910
The file was modifiedlibclc/spirv64/lib/math/fma.cl
The file was modifiedlibclc/spirv/lib/math/fma.cl
The file was modifiedlibclc/generic/lib/math/math.h
Commit 8ea7ef8eda93aa144c339275fc6d9db2615a0118 by mtrofin
[ThinLTO] Relax thinlto_embed_bitcode.ll check

Fixes fuscia test [1] - the thinlto annotations may not always be there.

[1] http://lab.llvm.org:8011/builders/fuchsia-x86_64-linux/builds/11312
The file was modifiedclang/test/CodeGen/thinlto_embed_bitcode.ll
Commit 3045b3c3b5dbc4192b9a4057ae165f238b84ddf6 by craig.topper
[X86] Add test case for non-power of 2 scatter. NFC
The file was modifiedllvm/test/CodeGen/X86/masked_gather_scatter.ll
Commit 41f4cd60d54d94e8dac4bbd8d9961dc8ad4a64fc by craig.topper
[X86] Don't scalarize gather/scatters with non-power of 2 element counts. Widen instead.

We can pad the mask with zeros in order to widen. We already do
this for power 2 types that are smaller than a legal type.
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/test/CodeGen/X86/masked_gather_scatter.ll
Commit fc82006331228b6b16ea47cd8093ac145739044b by asbirlea
[MemorySSA] Set MustDominate to true for PhiTranslation.
The file was modifiedllvm/include/llvm/Analysis/MemorySSA.h
The file was modifiedllvm/test/Analysis/MemorySSA/phi-translation.ll
Commit 794467b916e87e8fb09380c67d0d433a29d93a2f by martin
[llvm-rc] Allow omitting components from VERSIONINFO versions

MS rc.exe doesn't require specifying all 4 components.

Differential Revision: https://reviews.llvm.org/D87570
The file was modifiedllvm/tools/llvm-rc/ResourceScriptParser.cpp
The file was modifiedllvm/test/tools/llvm-rc/Inputs/tag-versioninfo.rc
The file was modifiedllvm/test/tools/llvm-rc/tag-versioninfo.test
Commit 74d7356fc63bd1f42bbb20b793f21decf3c98a6e by martin
[llvm-rc] Update a comment. NFC.

Fix a typo and mention one missing step.
The file was modifiedllvm/tools/llvm-rc/ResourceFileWriter.cpp
Commit c913f6dce69513b430f705d5a1f4e745f5d0a27e by martin
[llvm-rc] Lowercase the option definitions. NFC.

This matches how such options are most commonly defined in other tools.

This was pointed out in an earlier review a few months ago, that
the llvm-rc td entries felt shouty.

The INCLUDE option is renamed to includepath, to avoid clashing with
the tablegen include directive.
The file was modifiedllvm/tools/llvm-rc/llvm-rc.cpp
The file was modifiedllvm/tools/llvm-rc/Opts.td
Commit 4171d5c30ad32282e6ca9027aeff01ef5ff2461b by Xing
[obj2yaml] Add support for dumping the .debug_addr(v5) section.

This patch adds support for dumping the .debug_addr(v5) section to
obj2yaml.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D87601
The file was addedllvm/test/tools/obj2yaml/ELF/DWARF/debug-addr.yaml
The file was modifiedllvm/tools/obj2yaml/obj2yaml.h
The file was modifiedllvm/tools/obj2yaml/dwarf2yaml.cpp
The file was modifiedllvm/tools/obj2yaml/elf2yaml.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugAddr.h
Commit d3d76039002cd879f7aba37f88fc7312cfc95531 by asbirlea
[MemorySSA] Report unoptimized as None, not MayAlias.
The file was modifiedllvm/test/Analysis/MemorySSA/optimize-use.ll
The file was modifiedllvm/test/Analysis/MemorySSA/pr43427.ll
The file was modifiedllvm/test/Analysis/MemorySSA/phi-translation.ll
The file was modifiedllvm/include/llvm/Analysis/MemorySSA.h
The file was modifiedllvm/unittests/Analysis/MemorySSATest.cpp
Commit 94f7d3dba3c0a6ffd3e8a3f87ae849890578cd88 by mkazantsev
[Test] Some more potential range check elimination opportunities
The file was modifiedllvm/test/Transforms/IndVarSimplify/predicated_ranges.ll
Commit af56be339f8c9660747794cc6755384154602535 by richard.barton
[flang] Fix docs build

Apply a local fix to an issue with recommonmark's AutoStructify extension
when used with certain versions of sphinx.

See https://github.com/readthedocs/recommonmark/issues/93

Reviewed By: hans

Differential Revision: https://reviews.llvm.org/D87714
The file was modifiedflang/docs/conf.py
Commit 6985135a43b62db2defc95367432069c9fddd094 by mkazantsev
[Test] Add positive range checks tests in addition to negative
The file was modifiedllvm/test/Transforms/IndVarSimplify/predicated_ranges.ll
Commit b42fa0c040961b3704e826ddc969c0e98238c3ba by Vitaly Buka
Revert "[Asan] Fix false leak report"

Additional investigated confirmed that issue is not about
AddrIsInside, but missing registers.

This reverts commit 9d01612db48fa27d18c6320974b8d711572e5c67.
The file was modifiedcompiler-rt/lib/asan/asan_allocator.cpp
The file was removedcompiler-rt/test/asan/TestCases/redzone_noleak.cpp
Commit a8a85166d81f573af7ff325fdf93dd8bdfdeddbf by Vitaly Buka
Revert "[Asan] Accept __lsan_ignore_object for redzone pointer"

We still keep AddrIsInside.

This reverts commit 1d70984fa220f966ddcecd7906c5f10368fe1b93.
The file was modifiedcompiler-rt/test/asan/TestCases/lsan_annotations.cpp
The file was modifiedcompiler-rt/lib/asan/asan_allocator.cpp
Commit 070b96962f517772fff4bf3c27cc825b46a136b5 by yvan.roux
[ARM][MachineOutliner] Add calls handling.

Handles calls inside outlined regions, by saving and restoring the link
register.

Differential Revision: https://reviews.llvm.org/D87136
The file was modifiedllvm/test/CodeGen/ARM/machine-outliner-default.mir
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
Commit d427df6369f1d229a9f498b4dc621433ada380d2 by platonov.aleksandr
[clangd] Don't use zlib when it's unavailable.

Without this patch `clangd` crashes at try to load compressed string table when `zlib` is not available.
Example:
- Build `clangd` with MinGW (`zlib` found)
- Build index
- Build `clangd` with Visual Studio compiler (`zlib` not found)
- Try to load index

Reviewed By: sammccall, adamcz

Differential Revision: https://reviews.llvm.org/D87673
The file was modifiedclang-tools-extra/clangd/index/Serialization.cpp
Commit ef0b9f3307a1fa1c82b34098213ec854c1b5e608 by samuel.tebbs
[ARM][LowOverheadLoops] Combine a VCMP and VPST into a VPT

This patch combines a VCMP followed by a VPST into a VPT, which has the
same semantics as the combination of the former two.
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vcmp-vpst-combination.ll
Commit cb1ef0eaff8726a8c1fe4b8440f6734cbbe91630 by sjoerd.meijer
Follow up rG635b87511ec3: forgot to add/commit the new test file. NFC.
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-forced.ll
Commit 159abe09d25b19c24bf23ce50757987c0f25abe4 by AlokKumar.Sharma
[DebugInfo][flang] DISubrange support for fortran assumed size array

This is needed to support assumed size array of fortran which can have missing upperBound/count
, contrary to current DISubrange support.
Example:
subroutine sub (array1, array2)
  integer :: array1 (*)
  integer :: array2 (4:9, 10:*)

  array1(7:8) = 9
  array2(5, 10) = 10
end subroutine
Now the validation check is relaxed for fortran.

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D87500
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/include/llvm/BinaryFormat/Dwarf.h
The file was addedllvm/test/DebugInfo/X86/assumed_size_array.ll
Commit ef4851742de5e64a1ba9de51e375ac503d2d7ecb by grimar
[llvm-readobj][test] - Address a forgotten review comment for D86923.

Seems I've forgot to address this bit and this looks like a reason
of a failture on mac (http://45.33.8.238/mac/20491/step_11.txt).
The file was modifiedllvm/test/tools/llvm-readobj/ELF/dyn-symbols-size-from-hash-table.test
Commit 3a0a2a6347f5a79ebfba2cc2b763dd02001d9baa by kbobyrev
[clangd] Implement hot index reloading for clangd-index-server

This patch adds a mechanism to load new versions of index into
clangd-index-server using SwapIndex and FileStatus information about last
modification time without downtime.

Reviewed By: kadircet

Differential Revision: https://reviews.llvm.org/D87450
The file was modifiedclang-tools-extra/clangd/index/remote/server/Server.cpp
Commit 6040e2a6d97d9f9445715dfc468c3112f40e2588 by andrew.ng
[Support] Add GlobPattern::isTrivialMatchAll()

GlobPattern::isTrivialMatchAll() returns true for the GlobPattern "*"
which will match all inputs.

This can be used to avoid performing expensive preparation of the input
for match() when the result of the match will always be true.

Differential Revision: https://reviews.llvm.org/D87468
The file was modifiedllvm/include/llvm/Support/GlobPattern.h
The file was modifiedllvm/unittests/Support/GlobPatternTest.cpp
Commit 77152a6b7ac07ce65568d7c69305653e7cad4bb0 by andrew.ng
[LLD][ELF] Optimize linker script filename glob pattern matching NFC

Optimize the filename glob pattern matching in
LinkerScript::computeInputSections() and LinkerScript::shouldKeep().

Add InputFile::getNameForScript() which gets and if required caches the
Inputfile's name used for linker script matching. This avoids the
overhead of name creation that was in getFilename() in LinkerScript.cpp.

Add InputSectionDescription::matchesFile() and
SectionPattern::excludesFile() which perform the glob pattern matching
for an InputFile and make use of a cache of the previous result. As both
computeInputSections() and shouldKeep() process sections in order and
the sections of the same InputFile are contiguous, these single entry
caches can significantly speed up performance for more complex glob
patterns.

These changes have been seen to reduce link time with --gc-sections by
up to ~40% with linker scripts that contain KEEP filename glob patterns
such as "*crtbegin*.o".

Differential Revision: https://reviews.llvm.org/D87469
The file was modifiedlld/ELF/InputFiles.h
The file was modifiedlld/ELF/LinkerScript.cpp
The file was modifiedlld/ELF/ARMErrataFix.h
The file was modifiedlld/ELF/Relocations.h
The file was modifiedlld/include/lld/Common/Strings.h
The file was modifiedlld/ELF/InputFiles.cpp
The file was modifiedlld/ELF/LinkerScript.h
The file was modifiedlld/ELF/AArch64ErrataFix.h
Commit a8d02015fcb783d5fdf1e09edd1b9e152c5d19b7 by grimar
[llvm-readobj][test] - Improve section-symbols.test

`section-symbols.test` tests how we print section symbols in
different situations.

We might have 2 different cases:
1) A named STT_SECTION symbol.
2) An unnamed STT_SECTION symbol.

Usually section symbols have no name and then `--symbols` uses their
section names when prints them. If symbol has a name, then it is used.

For `--relocations` we also want to have this logic probably,
but currently we always ignore symbol names and always use section names.
It is not consistent with GNU readelf and with our logic for `--symbols`.

This patch refines testing to document the existent behavior and improve
coverage.

Differential revision: https://reviews.llvm.org/D87612
The file was modifiedllvm/test/tools/llvm-readobj/ELF/section-symbols.test
Commit ac2717bfdd0d36ce4b5c33661045a36db3c0cc45 by samuel.tebbs
[ARM][LowOverheadLoops] Fix tests after ef0b9f3

ef0b9f3 didn't update the tests that it affected.
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-vctpvpsel.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/iv-vcmp.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/iv-two-vcmp.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/cond-vector-reduce-mve-codegen.ll
Commit a909a84ef2d9220242512b8be1206ee3d9b3d8b9 by kbobyrev
[clang-tidy] Improve documentation on Clangd integration

The integration is already complete; this patch updates information as well as
suggests using Clang-Tidy via Clangd integration that is vastly available
in most editors through LSP client plugins.

Reviewed By: hokein

Differential Revision: https://reviews.llvm.org/D87686
The file was modifiedclang-tools-extra/docs/clang-tidy/Integrations.rst
Commit 3f682611ab26442fb2a5fd49f44c6f032150a2e6 by llvm-dev
[DAG] Remover getOperand() call. NFCI.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 3e5a4ef51a1d0def10525b2059f5cdab0cb0ae8d by kbobyrev
Fix table formatting after D87686
The file was modifiedclang-tools-extra/docs/clang-tidy/Integrations.rst
Commit 86172ce378169743bf82d9e69e6f428ec8ee81d1 by sam.parker
[ARM] Add more validForTailPredication

Modify the unit test to inspect all MVE instructions and mark the
load/store/move of vpr/p0 as valid, as well as the remaining scalar
shifts.

Differential Revision: https://reviews.llvm.org/D87753
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedllvm/unittests/Target/ARM/MachineInstrTest.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrVFP.td
Commit a63b2a4614b6b776cffcc0ab033e288024aa73b9 by sam.parker
[ARM] Fix tail predication predicate tracking

Clear the CurrentPredicate when we find an instruction which would
completely overwrite the VPR. This fix essentially means we're back
to not really being able to handle VPT instructions when tail
predicating.

Differential Revision: https://reviews.llvm.org/D87610
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/disjoint-vcmp.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-in-vpt-2.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vpt-blocks.mir
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/cond-vector-reduce-mve-codegen.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/remat-vctp.ll
Commit 7029e5d4ca20d20982da8efe89de27acd8d7d75b by adamcz
[clangd] Actually parse Index section of the YAML file.

This fixes a bug in dbf486c0de92c76df77c1a1f815cf16533ecbb3a, which
introduced the Index section of the config, but did not register the
parse method, so it didn't work in a YAML file (but did in a test).

Differential Revision: https://reviews.llvm.org/D87710
The file was modifiedclang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
The file was modifiedclang-tools-extra/clangd/ConfigYAML.cpp
Commit 779a2a2edcea89ad5f5bf99eeac90516542159d9 by adam.balogh
[clang-tidy] Crash fix for bugprone-misplaced-pointer-arithmetic-in-alloc

Placement new operators on non-object types cause crash in
`bugprone-misplaced-pointer-arithmetic-in-alloc`. This patch fixes this
issue.

Differential Revision: https://reviews.llvm.org/D87683
The file was modifiedclang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-misplaced-pointer-arithmetic-in-alloc.cpp
Commit dbd45b2db8e0c396fa20d4c72734c4f31f54af96 by adam.balogh
[ASTMatchers] Fix `hasBody` for the descendants of `FunctionDecl`

//AST Matcher// `hasBody` is a polymorphic matcher that behaves
differently for loop statements and function declarations. The main
difference is the for functions declarations it does not only call
`FunctionDecl::getBody()` but first checks whether the declaration in
question is that specific declaration which has the body by calling
`FunctionDecl::doesThisDeclarationHaveABody()`. This is achieved by
specialization of the template `GetBodyMatcher`. Unfortunately template
specializations do not catch the descendants of the class for which the
template is specialized. Therefore it does not work correcly for the
descendants of `FunctionDecl`, such as `CXXMethodDecl`,
`CXXConstructorDecl`, `CXXDestructorDecl` etc. This patch fixes this
issue by using a template metaprogram.

The patch also introduces a new matcher `hasAnyBody` which matches
declarations which have a body present in the AST but not necessarily
belonging to that particular declaration.

Differential Revision: https://reviews.llvm.org/D87527
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersInternal.h
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.cpp