SuccessChanges

Summary

  1. Fix sphinx documentation after a6a37a2fcd2a8048a75bd0d8280497ed89d73224 (details)
  2. [lldb] tab completion for class `CommandObjectTypeFormatterDelete` (details)
  3. [NFCI] Silent a build warning due to an extra semi-colon (details)
  4. [analyzer] Add modeling for unique_ptr move constructor (details)
  5. [Flang][NFC] Remove license comments from files in docs/ folder. (details)
  6. [x86] add another test for reciprocal sqrt; NFC (details)
  7. [AArch64] add another test for reciprocal sqrt; NFC (details)
  8. [DAGCombiner] skip reciprocal divisor optimization for x/sqrt(x), better (details)
  9. [clang-tidy] New check readability-prefer-member-initializer (details)
  10. [Clang-Tidy] New check `bugprone-redundant-branch-condition` (details)
  11. [gn build] Port 14dd0737822 (details)
  12. [gn build] Port f5fd7486d6c (details)
  13. Teach the swift calling convention about _Atomic types (details)
  14. [CodeGen] Make sure the EH cleanup for block captures is conditional when the block literal is in a conditional context (details)
Commit 9026d3b2f942db81b0d8588fd0990d389669dc55 by alexandre.ganea
Fix sphinx documentation after a6a37a2fcd2a8048a75bd0d8280497ed89d73224
The file was modifiedllvm/docs/CMake.rst
Commit 1cd99fe9d4166bbe72b0b935b40bbb41cdc0a6c8 by Raphael Isemann
[lldb] tab completion for class `CommandObjectTypeFormatterDelete`

1. Added a dedicated completion to class `CommandObjectTypeFormatterDelete`
   which can be used by these commands: `type filter/format/summary/synthetic delete`;
2. Added a related test case.

Reviewed By: teemperor

Differential Revision: https://reviews.llvm.org/D84142
The file was modifiedlldb/include/lldb/DataFormatters/FormattersContainer.h
The file was modifiedlldb/source/Commands/CommandObjectType.cpp
The file was modifiedlldb/test/API/functionalities/completion/TestCompletion.py
Commit db464a2753e2b3dee7a1438cd8ccc33795fc9529 by SourabhSingh.Tomar
[NFCI] Silent a build warning due to an extra semi-colon
The file was modifiedllvm/lib/ExecutionEngine/Orc/Core.cpp
Commit 1b743a9efa0884ed3a48ebea97b6ef6cb7d73164 by vrnithinkumar
[analyzer] Add modeling for unique_ptr move constructor

Summary:
Add support for handling move contructor of std::unique_ptr.

Reviewers: NoQ, Szelethus, vsavchenko, xazax.hun

Reviewed By: NoQ

Subscribers: martong, cfe-commits
Tags: #clang

Differential Revision: https://reviews.llvm.org/D86373
The file was modifiedclang/test/Analysis/smart-ptr.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
The file was modifiedclang/test/Analysis/smart-ptr-text-output.cpp
Commit f787c9a90c69f604694b02493404c066ea601b9e by joshisameeran17
[Flang][NFC] Remove license comments from files in docs/ folder.

Solves issue https://reviews.llvm.org/D86131#2247275

Reviewed By: hans

Differential Revision: https://reviews.llvm.org/D86875
The file was modifiedflang/docs/ParserCombinators.md
The file was modifiedflang/docs/C++17.md
The file was modifiedflang/docs/ArrayComposition.md
The file was modifiedflang/docs/Calls.md
The file was modifiedflang/docs/FortranForCProgrammers.md
The file was modifiedflang/docs/RuntimeDescriptor.md
The file was modifiedflang/docs/ModFiles.md
The file was modifiedflang/docs/Preprocessing.md
The file was modifiedflang/docs/OptionComparison.md
The file was modifiedflang/docs/Overview.md
The file was modifiedflang/docs/C++style.md
The file was modifiedflang/docs/IORuntimeInternals.md
The file was modifiedflang/docs/Character.md
The file was modifiedflang/docs/Directives.md
The file was modifiedflang/docs/PullRequestChecklist.md
The file was modifiedflang/docs/Intrinsics.md
The file was modifiedflang/docs/Parsing.md
The file was modifiedflang/docs/ImplementingASemanticCheck.md
The file was modifiedflang/docs/OpenMP-semantics.md
The file was modifiedflang/docs/Extensions.md
The file was modifiedflang/docs/FortranIR.md
The file was modifiedflang/docs/LabelResolution.md
The file was modifiedflang/docs/Semantics.md
The file was modifiedflang/docs/ControlFlowGraph.md
Commit 9ff05dcd38f72871821a03f20f41092026e5cba0 by spatel
[x86] add another test for reciprocal sqrt; NFC

The change in rG716e35a0cf53 depends on the order that
we encounter the expression x/sqrt(x), so we need to
adjust the logic to be more flexible.
The file was modifiedllvm/test/CodeGen/X86/sqrt-fastmath.ll
Commit 11e0c5b648460256176f2348d724338218542dce by spatel
[AArch64] add another test for reciprocal sqrt; NFC
The file was modifiedllvm/test/CodeGen/AArch64/sqrt-fastmath.ll
Commit 1c9a09f42e5ed66cba04700f9272ff53ea3cca86 by spatel
[DAGCombiner] skip reciprocal divisor optimization for x/sqrt(x), better

I tried to fix this in:
rG716e35a0cf53
...but that patch depends on the order that we encounter the
magic "x/sqrt(x)" expression in the combiner's worklist.

This patch should improve that by waiting until we walk the
user list to decide if there's a use to skip.

The AArch64 test reveals another (existing) ordering problem
though - we may try to create an estimate for plain sqrt(x)
before we see that it is part of a 1/sqrt(x) expression.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/X86/sqrt-fastmath.ll
The file was modifiedllvm/test/CodeGen/AArch64/sqrt-fastmath.ll
Commit f5fd7486d6c0debb465de3e927fcc31884874280 by adam.balogh
[clang-tidy] New check readability-prefer-member-initializer

Finds member initializations in the constructor body which can
be placed to the member initializers of the constructor instead.
This does not only improves the readability of the code but also
affects positively its performance. Class-member assignments
inside a control statement or following the first control
statement are ignored.

Differential Revision: https://reviews.llvm.org/D71199
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines-prefer-member-initializer.rst
The file was addedclang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.h
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
The file was addedclang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-prefer-member-initializer.cpp
The file was addedclang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was addedclang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-prefer-member-initializer-modernize-use-default-member-init-assignment.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-prefer-member-initializer-modernize-use-default-member-init.cpp
Commit 14dd0737822ba476803320a2ff37a1012174d312 by adam.balogh
[Clang-Tidy] New check `bugprone-redundant-branch-condition`

Checking the same condition again in a nested `if` usually make no sense,
except if the value of the expression could have been changed between
the two checks. Although compilers may optimize this out, such code is
suspicious: the programmer may have meant to check something else.
Therefore it is worth to find such places in the code and notify the
user about the problem.

This patch implements a basic check for this problem. Currently it
only detects redundant conditions where the condition is a variable of
integral type. It also detects the possible bug if the variable is in an
//or// or //and// logical expression in the inner if and/or the variable
is in an //and// logical expression in the outer if statement. Negated
cases are not handled yet.

Differential Revision: https://reviews.llvm.org/D81272
The file was addedclang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.h
The file was addedclang-tools-extra/docs/clang-tidy/checks/bugprone-redundant-branch-condition.rst
The file was addedclang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was modifiedclang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
The file was modifiedclang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-redundant-branch-condition.cpp
Commit 04b30afed0a30dea5f99a025d15491c65d4ebb07 by llvmgnsyncbot
[gn build] Port 14dd0737822
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
Commit 077238f1e12071bb116c24e181539d2310e26070 by llvmgnsyncbot
[gn build] Port f5fd7486d6c
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/cppcoreguidelines/BUILD.gn
Commit 41634497d4fd21f28d08ac6f538ca4045f386c95 by aschwaighofer
Teach the swift calling convention about _Atomic types

rdar://67351073

Differential Revision: https://reviews.llvm.org/D86218
The file was modifiedclang/lib/CodeGen/SwiftCallingConv.cpp
The file was modifiedclang/test/CodeGen/64bit-swiftcall.c
Commit a9a6e62ddff21c597b82f0f6d26bca6a1a473a6f by erik.pilkington
[CodeGen] Make sure the EH cleanup for block captures is conditional when the block literal is in a conditional context

Previously, clang was crashing on the attached test because the EH cleanup for
the block capture was incorrectly emitted under the assumption that the
expression wasn't conditionally evaluated. This was because before 9a52de00260,
pushLifetimeExtendedDestroy was mainly used with C++ automatic lifetime
extension, where a conditionally evaluated expression wasn't possible. Now that
we're using this path for block captures, we need to handle this case.

rdar://66250047

Differential revision: https://reviews.llvm.org/D86854
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was addedclang/test/CodeGenObjC/arc-blocks-exceptions.m
The file was modifiedclang/lib/CodeGen/CGDecl.cpp