FailedChanges

Summary

  1. [LoadStoreVectorizer] vectorizeStoreChain - ensure we find a store type. Properly initialize store type to null then ensure we find a real store type in the chain. Fixes scan-build null dereference warning and makes the code clearer.
  2. [CodeGen] Move X86 tests under the X86 directory
  3. [X86] X86InstrInfo::findThreeSrcCommutedOpIndices - fix unread variable warning. scan-build was reporting that CommutableOpIdx1 never used its original initialized value - move it down to where its first used to make the real initialization more obvious (and matches the comment that's there).
  4. [X86] lowerVectorShuffle - use any_of to detect out of bounds shuffle indices. NFCI. Fixes cppcheck local shadow warning as well.
  5. [Analysis] Remove duplicated std::move from LocRange constructor scan-build was reporting that we were referencing a moved variable - in fact we were moving it twice.....
Revision 360031 by rksimon:
[LoadStoreVectorizer] vectorizeStoreChain - ensure we find a store type.

Properly initialize store type to null then ensure we find a real store type in the chain.

Fixes scan-build null dereference warning and makes the code clearer.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Vectorize/LoadStoreVectorizer.cpptrunk/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
Revision 360029 by maskray:
[CodeGen] Move X86 tests under the X86 directory
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/CodeGen/X86/avx512bf16-intrinsics.lltrunk/test/CodeGen/X86/avx512bf16-intrinsics.ll
The file was added/llvm/trunk/test/CodeGen/X86/avx512bf16-vl-intrinsics.lltrunk/test/CodeGen/X86/avx512bf16-vl-intrinsics.ll
The file was removed/llvm/trunk/test/CodeGen/avx512bf16-intrinsics.lltrunk/test/CodeGen/avx512bf16-intrinsics.ll
The file was removed/llvm/trunk/test/CodeGen/avx512bf16-vl-intrinsics.lltrunk/test/CodeGen/avx512bf16-vl-intrinsics.ll
Revision 360028 by rksimon:
[X86] X86InstrInfo::findThreeSrcCommutedOpIndices - fix unread variable warning.

scan-build was reporting that CommutableOpIdx1 never used its original initialized value - move it down to where its first used to make the real initialization more obvious (and matches the comment that's there).
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86InstrInfo.cpptrunk/lib/Target/X86/X86InstrInfo.cpp
Revision 360027 by rksimon:
[X86] lowerVectorShuffle - use any_of to detect out of bounds shuffle indices. NFCI.

Fixes cppcheck local shadow warning as well.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpptrunk/lib/Target/X86/X86ISelLowering.cpp
Revision 360025 by rksimon:
[Analysis] Remove duplicated std::move from LocRange constructor

scan-build was reporting that we were referencing a moved variable - in fact we were moving it twice.....
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/LoopInfo.htrunk/include/llvm/Analysis/LoopInfo.h

Summary

  1. Revert r359949 "[clang] adding explicit(bool) from c++2a" This caused Clang to start erroring on the following: struct S {   template <typename = int> explicit S(); }; struct T : S {}; struct U : T {   U(); }; U::U() {} $ clang -c /tmp/x.cc /tmp/x.cc:10:4: error: call to implicitly-deleted default constructor of 'T' U::U() {}    ^ /tmp/x.cc:5:12: note: default constructor of 'T' is implicitly deleted because base class 'S' has no default constructor struct T : S {};            ^ 1 error generated. See discussion on the cfe-commits email thread. This also reverts the follow-ups r359966 and r359968. > this patch adds support for the explicit bool specifier. > > Changes: > - The parsing for the explicit(bool) specifier was added in ParseDecl.cpp. > - The storage of the explicit specifier was changed. the explicit specifier was stored as a boolean value in the FunctionDeclBitfields and in the DeclSpec class. now it is stored as a PointerIntPair<Expr*, 2> with a flag and a potential expression in CXXConstructorDecl, CXXDeductionGuideDecl, CXXConversionDecl and in the DeclSpec class. > - Following the AST change, Serialization, ASTMatchers, ASTComparator and ASTPrinter were adapted. > - Template instantiation was adapted to instantiate the potential expressions of the explicit(bool) specifier When instantiating their associated declaration. > - The Add*Candidate functions were adapted, they now take a Boolean indicating if the context allowing explicit constructor or conversion function and this boolean is used to remove invalid overloads that required template instantiation to be detected. > - Test for Semantic and Serialization were added. > > This patch is not yet complete. I still need to check that interaction with CTAD and deduction guides is correct. and add more tests for AST operations. But I wanted first feedback. > Perhaps this patch should be spited in smaller patches, but making each patch testable as a standalone may be tricky. > > Patch by Tyker > > Differential Revision: https://reviews.llvm.org/D60934
Revision 360024 by hans:
Revert r359949 "[clang] adding explicit(bool) from c++2a"

This caused Clang to start erroring on the following:

  struct S {
    template <typename = int> explicit S();
  };

  struct T : S {};

  struct U : T {
    U();
  };
  U::U() {}

  $ clang -c /tmp/x.cc
  /tmp/x.cc:10:4: error: call to implicitly-deleted default constructor of 'T'
  U::U() {}
     ^
  /tmp/x.cc:5:12: note: default constructor of 'T' is implicitly deleted
    because base class 'S' has no default constructor
  struct T : S {};
             ^
  1 error generated.

See discussion on the cfe-commits email thread.

This also reverts the follow-ups r359966 and r359968.

> this patch adds support for the explicit bool specifier.
>
> Changes:
> - The parsing for the explicit(bool) specifier was added in ParseDecl.cpp.
> - The storage of the explicit specifier was changed. the explicit specifier was stored as a boolean value in the FunctionDeclBitfields and in the DeclSpec class. now it is stored as a PointerIntPair<Expr*, 2> with a flag and a potential expression in CXXConstructorDecl, CXXDeductionGuideDecl, CXXConversionDecl and in the DeclSpec class.
> - Following the AST change, Serialization, ASTMatchers, ASTComparator and ASTPrinter were adapted.
> - Template instantiation was adapted to instantiate the potential expressions of the explicit(bool) specifier When instantiating their associated declaration.
> - The Add*Candidate functions were adapted, they now take a Boolean indicating if the context allowing explicit constructor or conversion function and this boolean is used to remove invalid overloads that required template instantiation to be detected.
> - Test for Semantic and Serialization were added.
>
> This patch is not yet complete. I still need to check that interaction with CTAD and deduction guides is correct. and add more tests for AST operations. But I wanted first feedback.
> Perhaps this patch should be spited in smaller patches, but making each patch testable as a standalone may be tricky.
>
> Patch by Tyker
>
> Differential Revision: https://reviews.llvm.org/D60934
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/Decl.htrunk/include/clang/AST/Decl.h
The file was modified/cfe/trunk/include/clang/AST/DeclBase.htrunk/include/clang/AST/DeclBase.h
The file was modified/cfe/trunk/include/clang/AST/DeclCXX.htrunk/include/clang/AST/DeclCXX.h
The file was modified/cfe/trunk/include/clang/ASTMatchers/ASTMatchers.htrunk/include/clang/ASTMatchers/ASTMatchers.h
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticCommonKinds.tdtrunk/include/clang/Basic/DiagnosticCommonKinds.td
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticParseKinds.tdtrunk/include/clang/Basic/DiagnosticParseKinds.td
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.tdtrunk/include/clang/Basic/DiagnosticSemaKinds.td
The file was modified/cfe/trunk/include/clang/Basic/Specifiers.htrunk/include/clang/Basic/Specifiers.h
The file was modified/cfe/trunk/include/clang/Sema/DeclSpec.htrunk/include/clang/Sema/DeclSpec.h
The file was modified/cfe/trunk/include/clang/Sema/Overload.htrunk/include/clang/Sema/Overload.h
The file was modified/cfe/trunk/include/clang/Sema/Sema.htrunk/include/clang/Sema/Sema.h
The file was modified/cfe/trunk/include/clang/Serialization/ASTBitCodes.htrunk/include/clang/Serialization/ASTBitCodes.h
The file was modified/cfe/trunk/include/clang/Serialization/ASTReader.htrunk/include/clang/Serialization/ASTReader.h
The file was modified/cfe/trunk/lib/AST/ASTImporter.cpptrunk/lib/AST/ASTImporter.cpp
The file was modified/cfe/trunk/lib/AST/ASTStructuralEquivalence.cpptrunk/lib/AST/ASTStructuralEquivalence.cpp
The file was modified/cfe/trunk/lib/AST/Decl.cpptrunk/lib/AST/Decl.cpp
The file was modified/cfe/trunk/lib/AST/DeclCXX.cpptrunk/lib/AST/DeclCXX.cpp
The file was modified/cfe/trunk/lib/AST/DeclPrinter.cpptrunk/lib/AST/DeclPrinter.cpp
The file was modified/cfe/trunk/lib/Frontend/InitPreprocessor.cpptrunk/lib/Frontend/InitPreprocessor.cpp
The file was modified/cfe/trunk/lib/Parse/ParseDecl.cpptrunk/lib/Parse/ParseDecl.cpp
The file was modified/cfe/trunk/lib/Sema/DeclSpec.cpptrunk/lib/Sema/DeclSpec.cpp
The file was modified/cfe/trunk/lib/Sema/SemaCodeComplete.cpptrunk/lib/Sema/SemaCodeComplete.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDecl.cpptrunk/lib/Sema/SemaDecl.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDeclCXX.cpptrunk/lib/Sema/SemaDeclCXX.cpp
The file was modified/cfe/trunk/lib/Sema/SemaInit.cpptrunk/lib/Sema/SemaInit.cpp
The file was modified/cfe/trunk/lib/Sema/SemaLambda.cpptrunk/lib/Sema/SemaLambda.cpp
The file was modified/cfe/trunk/lib/Sema/SemaLookup.cpptrunk/lib/Sema/SemaLookup.cpp
The file was modified/cfe/trunk/lib/Sema/SemaOverload.cpptrunk/lib/Sema/SemaOverload.cpp
The file was modified/cfe/trunk/lib/Sema/SemaTemplate.cpptrunk/lib/Sema/SemaTemplate.cpp
The file was modified/cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpptrunk/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modified/cfe/trunk/lib/Serialization/ASTReaderDecl.cpptrunk/lib/Serialization/ASTReaderDecl.cpp
The file was modified/cfe/trunk/lib/Serialization/ASTWriter.cpptrunk/lib/Serialization/ASTWriter.cpp
The file was modified/cfe/trunk/lib/Serialization/ASTWriterDecl.cpptrunk/lib/Serialization/ASTWriterDecl.cpp
The file was modified/cfe/trunk/test/CXX/temp/temp.deduct.guide/p1.cpptrunk/test/CXX/temp/temp.deduct.guide/p1.cpp
The file was modified/cfe/trunk/test/CXX/temp/temp.deduct.guide/p3.cpptrunk/test/CXX/temp/temp.deduct.guide/p3.cpp
The file was removed/cfe/trunk/test/PCH/cxx-explicit-specifier.cpptrunk/test/PCH/cxx-explicit-specifier.cpp
The file was modified/cfe/trunk/test/SemaCXX/builtin-is-constant-evaluated.cpptrunk/test/SemaCXX/builtin-is-constant-evaluated.cpp
The file was modified/cfe/trunk/test/SemaCXX/cxx2a-compat.cpptrunk/test/SemaCXX/cxx2a-compat.cpp
The file was removed/cfe/trunk/test/SemaCXX/cxx2a-explicit-bool.cpptrunk/test/SemaCXX/cxx2a-explicit-bool.cpp
The file was modified/cfe/trunk/test/SemaCXX/explicit.cpptrunk/test/SemaCXX/explicit.cpp
The file was modified/cfe/trunk/unittests/AST/Language.cpptrunk/unittests/AST/Language.cpp
The file was modified/cfe/trunk/unittests/AST/Language.htrunk/unittests/AST/Language.h
The file was modified/cfe/trunk/unittests/AST/MatchVerifier.htrunk/unittests/AST/MatchVerifier.h
The file was modified/cfe/trunk/unittests/AST/StructuralEquivalenceTest.cpptrunk/unittests/AST/StructuralEquivalenceTest.cpp
The file was modified/cfe/trunk/www/cxx_status.htmltrunk/www/cxx_status.html
The file was modified/lldb/trunk/source/Symbol/ClangASTContext.cppN/A

Summary

  1. [clangd] Boost code completion results that were named in the last few lines. Summary: The hope is this will catch a few patterns with repetition: SomeClass* S = ^SomeClass::Create() int getFrobnicator() { return ^frobnicator_; } // discard the factory, it's no longer valid. ^MyFactory.reset(); Without triggering antipatterns too often: return Point(x.first, x.^second); I'm going to gather some data on whether this turns out to be a win overall. Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, jfb, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D61537
  2. [clangd] Qualify uses of ::testing everywhere. NFC Add an initial '::' qualifier to all usages of 'testing' namespace that did not have one. The goal is to make our code style in tests more consistent.
Revision 360030 by sammccall:
[clangd] Boost code completion results that were named in the last few lines.

Summary:
The hope is this will catch a few patterns with repetition:

  SomeClass* S = ^SomeClass::Create()

  int getFrobnicator() { return ^frobnicator_; }

  // discard the factory, it's no longer valid.
  ^MyFactory.reset();

Without triggering antipatterns too often:

  return Point(x.first, x.^second);

I'm going to gather some data on whether this turns out to be a win overall.

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D61537
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/CodeComplete.cpptrunk/clangd/CodeComplete.cpp
The file was modified/clang-tools-extra/trunk/clangd/FindSymbols.cpptrunk/clangd/FindSymbols.cpp
The file was modified/clang-tools-extra/trunk/clangd/Quality.cpptrunk/clangd/Quality.cpp
The file was modified/clang-tools-extra/trunk/clangd/Quality.htrunk/clangd/Quality.h
The file was modified/clang-tools-extra/trunk/clangd/SourceCode.cpptrunk/clangd/SourceCode.cpp
The file was modified/clang-tools-extra/trunk/clangd/SourceCode.htrunk/clangd/SourceCode.h
The file was modified/clang-tools-extra/trunk/clangd/test/completion-auto-trigger.testtrunk/clangd/test/completion-auto-trigger.test
The file was modified/clang-tools-extra/trunk/clangd/unittests/CodeCompleteTests.cpptrunk/clangd/unittests/CodeCompleteTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/QualityTests.cpptrunk/clangd/unittests/QualityTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/SourceCodeTests.cpptrunk/clangd/unittests/SourceCodeTests.cpp
Revision 360026 by ibiryukov:
[clangd] Qualify uses of ::testing everywhere. NFC

Add an initial '::' qualifier to all usages of 'testing' namespace that
did not have one.

The goal is to make our code style in tests more consistent.
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/unittests/BackgroundIndexTests.cpptrunk/clangd/unittests/BackgroundIndexTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/ClangdUnitTests.cpptrunk/clangd/unittests/ClangdUnitTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/DexTests.cpptrunk/clangd/unittests/DexTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/DiagnosticsTests.cpptrunk/clangd/unittests/DiagnosticsTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/FileIndexTests.cpptrunk/clangd/unittests/FileIndexTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/FindSymbolsTests.cpptrunk/clangd/unittests/FindSymbolsTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/FuzzyMatchTests.cpptrunk/clangd/unittests/FuzzyMatchTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/IndexActionTests.cpptrunk/clangd/unittests/IndexActionTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/IndexTests.cpptrunk/clangd/unittests/IndexTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/PrintASTTests.cpptrunk/clangd/unittests/PrintASTTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/SerializationTests.cpptrunk/clangd/unittests/SerializationTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/SymbolCollectorTests.cpptrunk/clangd/unittests/SymbolCollectorTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/SymbolInfoTests.cpptrunk/clangd/unittests/SymbolInfoTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/TypeHierarchyTests.cpptrunk/clangd/unittests/TypeHierarchyTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/XRefsTests.cpptrunk/clangd/unittests/XRefsTests.cpp