FailedChanges

Summary

  1. [analyzer] Add support for namespaces to GenericTaintChecker (details)
  2. [DAG] Add SimplifyDemandedBits support for BSWAP (details)
  3. [InstSimplify] fold splat of inserted constant to vector constant (details)
  4. [clang-tidy] Add cert-oop58-cpp check The check warns when (a member of) (details)
  5. gn build: Merge bbc9f6c2ef0 (details)
  6. [clang] Improve LLVM-style RTTI support in (details)
Commit 273e67425243c74b33d24aa5b2c574877cc3e9bb by gabor.borsik
[analyzer] Add support for namespaces to GenericTaintChecker
This patch introduces the namespaces for the configured functions and
also enables the use of the member functions.
I added an optional Scope field for every configured function. Functions
without Scope match for every function regardless of the namespace.
Functions with Scope will match if the full name of the function starts
with the Scope. Multiple functions can exist with the same name.
Differential Revision: https://reviews.llvm.org/D70878
The file was modifiedclang/test/Analysis/Inputs/taint-generic-config.yaml
The file was addedclang/test/Analysis/taint-generic.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
Commit 2afe86411847b3305915f536256b8bb877d8a356 by spatel
[DAG] Add SimplifyDemandedBits support for BSWAP
This exposes a shortcoming for AArch64, and that is tracked by PR40881:
https://bugs.llvm.org/show_bug.cgi?id=40881
Patch by: @RKSimon (Simon Pilgrim)
Differential Revision: https://reviews.llvm.org/D58017
The file was modifiedllvm/test/CodeGen/X86/combine-bswap.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/arm64-rev.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/bswap.ll
Commit 6080387f136af5a51bbc310abb08c7158d7cd9d2 by spatel
[InstSimplify] fold splat of inserted constant to vector constant
shuf (inselt ?, C, IndexC), undef, <IndexC, IndexC...> --> <C, C...>
This is another missing shuffle fold pattern uncovered by the shuffle
correctness fix from D70246.
The problem was visible in the post-commit thread example, but we
managed to overcome the limitation for that particular case with D71220.
This is something like the inverse of the previous fix - there we didn't
demand the inserted scalar, and here we are only demanding an inserted
scalar.
Differential Revision: https://reviews.llvm.org/D71488
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/shufflevector.ll
The file was modifiedllvm/test/Transforms/InstCombine/insert-extract-shuffle.ll
Commit bbc9f6c2ef074668374e06a5de471413afd2ee4b by b.gabor98
[clang-tidy] Add cert-oop58-cpp check The check warns when (a member of)
the copied object is assigned to in a copy constructor or copy
assignment operator. Based on
https://wiki.sei.cmu.edu/confluence/display/cplusplus/OOP58-CPP.+Copy+operations+must+not+mutate+the+source+object
Differential Revision: https://reviews.llvm.org/D70052
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
The file was modifiedclang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
The file was modifiedclang-tools-extra/clang-tidy/cert/CMakeLists.txt
The file was addedclang-tools-extra/clang-tidy/cert/MutatingCopyCheck.h
The file was addedclang-tools-extra/clang-tidy/cert/MutatingCopyCheck.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was addedclang-tools-extra/test/clang-tidy/checkers/cert-oop58-cpp.cpp
The file was addedclang-tools-extra/docs/clang-tidy/checks/cert-oop58-cpp.rst
Commit fd7dca98373cee7d379644d6d6e5c163d15107b7 by llvmgnsyncbot
gn build: Merge bbc9f6c2ef0
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/cert/BUILD.gn
Commit aa4558497ff6301881adf38960dd2f4d95aa8fc5 by Raphael Isemann
[clang] Improve LLVM-style RTTI support in
ExternalASTSource/ExternalSemaSource
Summary: We currently have some very basic LLVM-style RTTI support in
the ExternalASTSource class hierarchy based on the `SemaSource` bool( to
discriminate it form the ExternalSemaSource). As ExternalASTSource is
supposed to be subclassed we should have extendable LLVM-style RTTI in
this class hierarchy to make life easier for projects building on top of
Clang.
Most notably the current RTTI implementation forces LLDB to implement
RTTI for its own ExternalASTSource class (ClangExternalASTSourceCommon)
by keeping a global set of ExternalASTSources that are known to be
ClangExternalASTSourceCommon. Projects using Clang currently have to
dosimilar workarounds to get RTTI support for their subclasses.
This patch turns this into full-fledged LLVM-style RTTI based on a
static `ID` variable similar to other LLVM class hierarchies. Also
removes the friend declaration from ExternalASTSource to its child class
that was only used to grant access to the `SemaSource` member.
Reviewers: aprantl, dblaikie, rjmccall
Reviewed By: aprantl
Subscribers: riccibruno, labath, lhames, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D71397
The file was modifiedclang/lib/Sema/MultiplexExternalSemaSource.cpp
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/include/clang/AST/ExternalASTSource.h
The file was modifiedclang/lib/AST/ExternalASTSource.cpp
The file was modifiedclang/include/clang/Sema/MultiplexExternalSemaSource.h
The file was modifiedclang/include/clang/Sema/ExternalSemaSource.h