SuccessChanges

Summary

  1. [ARM] Add more validForTailPredication (details)
  2. [ARM] Fix tail predication predicate tracking (details)
  3. [clangd] Actually parse Index section of the YAML file. (details)
  4. [clang-tidy] Crash fix for bugprone-misplaced-pointer-arithmetic-in-alloc (details)
  5. [ASTMatchers] Fix `hasBody` for the descendants of `FunctionDecl` (details)
  6. CGBlocks.cpp - assert non-null CGF pointer. NFCI. (details)
  7. TokenAnnotator.cpp - remove useless pointer null test. NFCI. (details)
  8. [AST] ASTReader::ReadModuleMapFileBlock - assert non-null Module. NFCI. (details)
  9. Update dead links to Itanium and ARM ABIs. NFC (details)
  10. [Sema] isOpenMPCapturedDecl - assert we locate CapturedRegionScopeInfo. NFCI. (details)
  11. [RDA] Fix getUniqueReachingDef for self loops (details)
  12. [SLP] change poorly named variable; NFC (details)
  13. [SLP] move loop index variable declaration to its use; NFC (details)
  14. [SLP] remove redundant size check; NFC (details)
  15. [SLP] remove uses of 'auto' that obscure functionality; NFC (details)
  16. [ARM] Reorder some logic (details)
  17. [clang-format] [NFC] Fix spelling mistake in the documentation (details)
  18. [SLP] fix formatting; NFC (details)
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/ARMInstrVFP.td
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedllvm/unittests/Target/ARM/MachineInstrTest.cpp
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/remat-vctp.ll
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/disjoint-vcmp.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/cond-vector-reduce-mve-codegen.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vpt-blocks.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-in-vpt-2.mir
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/test/clang-tidy/checkers/bugprone-misplaced-pointer-arithmetic-in-alloc.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.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/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersInternal.h
Commit 4abb5cd83902f1351db473c720ee0b95ebdcb338 by llvm-dev
CGBlocks.cpp - assert non-null CGF pointer. NFCI.

Fixes static analyzer warning.
The file was modifiedclang/lib/CodeGen/CGBlocks.cpp
Commit aa1e15dda9e5941611f2183ba34087c2d02beb1a by llvm-dev
TokenAnnotator.cpp - remove useless pointer null test. NFCI.

We dereference the Left pointer throughout the parseParens() function apart from this single case - just add an non-null assertion and drop the check.

Fixes clang static analayzer null dereference warning.
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
Commit 439f5749d978acfa69f1a2d20c797c3fc0d97989 by llvm-dev
[AST] ASTReader::ReadModuleMapFileBlock - assert non-null Module. NFCI.

At this stage the Module* shouldn't be null - add an assert to fix a clang static analyzer warning.
The file was modifiedclang/lib/Serialization/ASTReader.cpp
Commit f5c7102dbc7223e98ce5c0f02b343ed92062987c by sam.mccall
Update dead links to Itanium and ARM ABIs. NFC
The file was modifiedclang/lib/CodeGen/ItaniumCXXABI.cpp
Commit 0a0abc0ede0ff8015e30aae89a3f89c7dc5b3f0f by llvm-dev
[Sema] isOpenMPCapturedDecl - assert we locate CapturedRegionScopeInfo. NFCI.

Fixes clang static analayzer null dereference warning.
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
Commit 1c421046d742102e7016567d41a9db6a1fb61906 by sam.parker
[RDA] Fix getUniqueReachingDef for self loops

We've fixed the case where this could return an instruction after the
given instruction, but also means that we can falsely return a
'unique' def when they could be one coming from the backedge of a
loop.

Differential Revision: https://reviews.llvm.org/D87751
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-add-operand-liveout.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/wrong-vctp-opcode-liveout.mir
The file was modifiedllvm/lib/CodeGen/ReachingDefAnalysis.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/wrong-vctp-operand-liveout.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/wlstp.mir
Commit 158989184e9c6bfec25cefe55022dd41894a54dd by spatel
[SLP] change poorly named variable; NFC

'V' shadows a function argument.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit bbad998bab52a1eabbb6a1ca16cc2129b3f99aa5 by spatel
[SLP] move loop index variable declaration to its use; NFC
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 0cee1bf5d17dd424c569df7e2604be10906bd515 by spatel
[SLP] remove redundant size check; NFC

We bail out on small array size anyway.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 6a23668e78b05703ccba552e09b09b8055924bb6 by spatel
[SLP] remove uses of 'auto' that obscure functionality; NFC
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 3ce9ec0cfa9e3690df8a345636d6fa3e385610c3 by sam.parker
[ARM] Reorder some logic

Re-order some checks in ValidateMVEInst.
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
Commit 4dd9c709ef1b59f0ec8e71100c624ec946b95fe2 by mydeveloperday
[clang-format] [NFC] Fix spelling mistake in the documentation

Ensure ClangFormatStyleOptions.rst can be regenerated from Format.h

Patch By: YangZhihui

Reviewed By: MyDeveloperDay

Differential Revision: https://reviews.llvm.org/D87352
The file was modifiedclang/include/clang/Format/Format.h
The file was modifiedclang/docs/ClangFormatStyleOptions.rst
Commit 24238f09edb98b0f460aa41139874ae5d4e5cd8d by spatel
[SLP] fix formatting; NFC

Also move variable declarations closer to usage and add code comments.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp