FailedChanges

Summary

  1. [Concepts] Concept definitions (D40381) First in a series of patches to land C++2a Concepts support. This patch adds AST and parsing support for concept-declarations.
  2. [X86] Remove unused variable. NFC
  3. My first test commit.
  4. [NFC][InstCombine] Comb through just-added "omit mask before left-shift" tests once more
  5. [TSan] Fix compiler error on Linux/AArch64
  6. Add support for building with Python 3 LLDB supports Python 3 now. Differential Revision: https://reviews.llvm.org/D64443 Patch from Christian Biesinger <cbiesinger@google.com>!
  7. [OPENMP]Remove not used check line from the test, NFC.
  8. [AArch64][GlobalISel] Optimize compare and branch cases with G_INTTOPTR and unknown values. Since we have distinct types for pointers and scalars, G_INTTOPTRs can sometimes obstruct attempts to find constant source values. These usually come about when try to do some kind of null pointer check. Teaching getConstantVRegValWithLookThrough about this operation allows the CBZ/CBNZ optimization to catch more cases. This change also improves the case where we can't find a constant source at all. Previously we would emit a cmp, cset and tbnz for that. Now we try to just emit a cmp and conditional branch, saving an instruction. The cumulative code size improvement of this change plus D64354 is 5.5% geomean on arm64 CTMark -O0. Differential Revision: https://reviews.llvm.org/D64377
  9. gn build: Merge r365687
  10. [clang-doc] Add a structured HTML generator Implements an HTML generator. Nodes are used to represent each part of the HTML file. There are TagNodes that represent every HTML tag (p, h1, div, ...) and they have children nodes, which can be TagNodes or TextNodes (these nodes only have text). Proper indentation is rendered within the files generated by tool. No styling (CSS) is included. Committed on behalf of Diego Astiazarán (diegoaat97@gmail.com) Differential Revision: https://reviews.llvm.org/D63857
  11. Revert "[ELF] Update test case due to llvm r365618" Reverting du to reverting r365618 This reverts commit b1e76d1d41c2303f70b53e352bdefbff2a2a9d37.
  12. Revert "[ELF] Loose a condition for relocation with a symbol" This reverts commit 8507eca1647118e73435b0ce1de8a1952a021d01. Reveting due to some suspicious failurse in santizer-x86_64-linux.
  13. [GlobalISel][AArch64] Use getOpcodeDef instead of findMIFromReg Some minor cleanup. This function in Utils does the same thing as `findMIFromReg`. It also looks through copies, which `findMIFromReg` didn't. Delete `findMIFromReg` and use `getOpcodeDef` instead. This only happens in `tryOptVectorDup` right now. Update opt-shuffle-splat to show that we can look through the copies now, too. Differential Revision: https://reviews.llvm.org/D64520
  14. [GlobalISel][AArch64][NFC] Use getDefIgnoringCopies from Utils where we can There are a few places where we walk over copies throughout AArch64InstructionSelector.cpp. In Utils, there's a function that does exactly this which we can use instead. Note that the utility function works with the case where we run into a COPY from a physical register. We've run into bugs with this a couple times, so using it should defend us from similar future bugs. Also update opt-fold-compare.mir to show that we still handle physical registers properly. Differential Revision: https://reviews.llvm.org/D64513
  15. Update libc++ include path detection to use VFS on Linux The DetectLibcxxIncludePath function had been using llvm::sys::fs::directory_iterator, and this updates it to use llvm::vfs::directory_iterator. Differential Revision: https://reviews.llvm.org/D64381
  16. [TSan] Attempt to fix linker error on Linux/AArch64
Revision 365699 by saar.raz:
[Concepts] Concept definitions (D40381)

First in a series of patches to land C++2a Concepts support.
This patch adds AST and parsing support for concept-declarations.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/AST/ASTNodeTraverser.h (diff)clang.src/include/clang/AST/ASTNodeTraverser.h
The file was modified/cfe/trunk/include/clang/AST/DeclTemplate.h (diff)clang.src/include/clang/AST/DeclTemplate.h
The file was modified/cfe/trunk/include/clang/AST/RecursiveASTVisitor.h (diff)clang.src/include/clang/AST/RecursiveASTVisitor.h
The file was modified/cfe/trunk/include/clang/AST/TextNodeDumper.h (diff)clang.src/include/clang/AST/TextNodeDumper.h
The file was modified/cfe/trunk/include/clang/Basic/DeclNodes.td (diff)clang.src/include/clang/Basic/DeclNodes.td
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td (diff)clang.src/include/clang/Basic/DiagnosticParseKinds.td
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (diff)clang.src/include/clang/Basic/DiagnosticSemaKinds.td
The file was modified/cfe/trunk/include/clang/Basic/TemplateKinds.h (diff)clang.src/include/clang/Basic/TemplateKinds.h
The file was modified/cfe/trunk/include/clang/Parse/Parser.h (diff)clang.src/include/clang/Parse/Parser.h
The file was modified/cfe/trunk/include/clang/Sema/Sema.h (diff)clang.src/include/clang/Sema/Sema.h
The file was modified/cfe/trunk/include/clang/Serialization/ASTBitCodes.h (diff)clang.src/include/clang/Serialization/ASTBitCodes.h
The file was modified/cfe/trunk/lib/AST/ASTStructuralEquivalence.cpp (diff)clang.src/lib/AST/ASTStructuralEquivalence.cpp
The file was modified/cfe/trunk/lib/AST/DeclBase.cpp (diff)clang.src/lib/AST/DeclBase.cpp
The file was modified/cfe/trunk/lib/AST/DeclPrinter.cpp (diff)clang.src/lib/AST/DeclPrinter.cpp
The file was modified/cfe/trunk/lib/AST/DeclTemplate.cpp (diff)clang.src/lib/AST/DeclTemplate.cpp
The file was modified/cfe/trunk/lib/AST/TextNodeDumper.cpp (diff)clang.src/lib/AST/TextNodeDumper.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGDecl.cpp (diff)clang.src/lib/CodeGen/CGDecl.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenModule.cpp (diff)clang.src/lib/CodeGen/CodeGenModule.cpp
The file was modified/cfe/trunk/lib/Index/IndexDecl.cpp (diff)clang.src/lib/Index/IndexDecl.cpp
The file was modified/cfe/trunk/lib/Parse/ParseTemplate.cpp (diff)clang.src/lib/Parse/ParseTemplate.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDecl.cpp (diff)clang.src/lib/Sema/SemaDecl.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDeclCXX.cpp (diff)clang.src/lib/Sema/SemaDeclCXX.cpp
The file was modified/cfe/trunk/lib/Sema/SemaLookup.cpp (diff)clang.src/lib/Sema/SemaLookup.cpp
The file was modified/cfe/trunk/lib/Sema/SemaTemplate.cpp (diff)clang.src/lib/Sema/SemaTemplate.cpp
The file was modified/cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp (diff)clang.src/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modified/cfe/trunk/lib/Serialization/ASTCommon.cpp (diff)clang.src/lib/Serialization/ASTCommon.cpp
The file was modified/cfe/trunk/lib/Serialization/ASTReaderDecl.cpp (diff)clang.src/lib/Serialization/ASTReaderDecl.cpp
The file was modified/cfe/trunk/lib/Serialization/ASTWriter.cpp (diff)clang.src/lib/Serialization/ASTWriter.cpp
The file was modified/cfe/trunk/lib/Serialization/ASTWriterDecl.cpp (diff)clang.src/lib/Serialization/ASTWriterDecl.cpp
The file was added/cfe/trunk/test/CXX/concepts-ts/exprclang.src/test/CXX/concepts-ts/expr
The file was added/cfe/trunk/test/CXX/concepts-ts/expr/expr.primclang.src/test/CXX/concepts-ts/expr/expr.prim
The file was added/cfe/trunk/test/CXX/concepts-ts/expr/expr.prim/expr.prim.idclang.src/test/CXX/concepts-ts/expr/expr.prim/expr.prim.id
The file was added/cfe/trunk/test/CXX/concepts-ts/expr/expr.prim/expr.prim.id/p3.cppclang.src/test/CXX/concepts-ts/expr/expr.prim/expr.prim.id/p3.cpp
The file was added/cfe/trunk/test/Parser/cxx2a-concept-declaration.cppclang.src/test/Parser/cxx2a-concept-declaration.cpp
The file was modified/cfe/trunk/tools/libclang/CIndex.cpp (diff)clang.src/tools/libclang/CIndex.cpp
Revision 365697 by ctopper:
[X86] Remove unused variable. NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
Revision 365695 by saar.raz:
My first test commit.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p1.cpp (diff)clang.src/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p1.cpp
Revision 365694 by lebedevri:
[NFC][InstCombine] Comb through just-added "omit mask before left-shift" tests once more
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-a.ll (diff)llvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-a.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-b.ll (diff)llvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-b.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-c.ll (diff)llvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-c.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-d.ll (diff)llvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-d.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-e.ll (diff)llvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-e.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-f.ll (diff)llvm.src/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-f.ll
Revision 365693 by yln:
[TSan] Fix compiler error on Linux/AArch64
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/tsan/rtl/tsan_platform_linux.cc (diff)compiler-rt.src/lib/tsan/rtl/tsan_platform_linux.cc
Revision 365692 by nico:
Add support for building with Python 3

LLDB supports Python 3 now.

Differential Revision: https://reviews.llvm.org/D64443

Patch from Christian Biesinger <cbiesinger@google.com>!
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/CMakeLists.txt (diff)llvm.src/CMakeLists.txt
Revision 365691 by abataev:
[OPENMP]Remove not used check line from the test, NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/OpenMP/sections_lastprivate_codegen.cpp (diff)clang.src/test/OpenMP/sections_lastprivate_codegen.cpp
Revision 365690 by aemerson:
[AArch64][GlobalISel] Optimize compare and branch cases with G_INTTOPTR and unknown values.

Since we have distinct types for pointers and scalars, G_INTTOPTRs can sometimes
obstruct attempts to find constant source values. These usually come about when
try to do some kind of null pointer check. Teaching getConstantVRegValWithLookThrough
about this operation allows the CBZ/CBNZ optimization to catch more cases.

This change also improves the case where we can't find a constant source at all.
Previously we would emit a cmp, cset and tbnz for that. Now we try to just emit
a cmp and conditional branch, saving an instruction.

The cumulative code size improvement of this change plus D64354 is 5.5% geomean
on arm64 CTMark -O0.

Differential Revision: https://reviews.llvm.org/D64377
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/Utils.cpp (diff)llvm.src/lib/CodeGen/GlobalISel/Utils.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64InstructionSelector.cpp (diff)llvm.src/lib/Target/AArch64/AArch64InstructionSelector.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/select-cbz.mir (diff)llvm.src/test/CodeGen/AArch64/GlobalISel/select-cbz.mir
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/select-jump-table-brjt.mir (diff)llvm.src/test/CodeGen/AArch64/GlobalISel/select-jump-table-brjt.mir
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/swifterror.ll (diff)llvm.src/test/CodeGen/AArch64/GlobalISel/swifterror.ll
Revision 365689 by nico:
gn build: Merge r365687
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/clang-tools-extra/clang-doc/BUILD.gn (diff)llvm.src/utils/gn/secondary/clang-tools-extra/clang-doc/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/clang-tools-extra/unittests/clang-doc/BUILD.gn (diff)llvm.src/utils/gn/secondary/clang-tools-extra/unittests/clang-doc/BUILD.gn
Revision 365687 by juliehockett:
[clang-doc] Add a structured HTML generator

Implements an HTML generator.
Nodes are used to represent each part of the HTML file. There are TagNodes that
represent every HTML tag (p, h1, div, ...) and they have children nodes, which
can be TagNodes or TextNodes (these nodes only have text).
Proper indentation is rendered within the files generated by tool.
No styling (CSS) is included.

Committed on behalf of Diego Astiazarán (diegoaat97@gmail.com)

Differential Revision: https://reviews.llvm.org/D63857
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clang-doc/CMakeLists.txt (diff)clang-tools-extra.src/clang-doc/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clang-doc/Generators.cpp (diff)clang-tools-extra.src/clang-doc/Generators.cpp
The file was modified/clang-tools-extra/trunk/clang-doc/Generators.h (diff)clang-tools-extra.src/clang-doc/Generators.h
The file was added/clang-tools-extra/trunk/clang-doc/HTMLGenerator.cppclang-tools-extra.src/clang-doc/HTMLGenerator.cpp
The file was modified/clang-tools-extra/trunk/clang-doc/MDGenerator.cpp (diff)clang-tools-extra.src/clang-doc/MDGenerator.cpp
The file was modified/clang-tools-extra/trunk/clang-doc/tool/ClangDocMain.cpp (diff)clang-tools-extra.src/clang-doc/tool/ClangDocMain.cpp
The file was modified/clang-tools-extra/trunk/unittests/clang-doc/CMakeLists.txt (diff)clang-tools-extra.src/unittests/clang-doc/CMakeLists.txt
The file was added/clang-tools-extra/trunk/unittests/clang-doc/HTMLGeneratorTest.cppclang-tools-extra.src/unittests/clang-doc/HTMLGeneratorTest.cpp
Revision 365686 by nikolaprica:
Revert "[ELF] Update test case due to llvm r365618"

Reverting du to reverting r365618

This reverts commit b1e76d1d41c2303f70b53e352bdefbff2a2a9d37.
Change TypePath in RepositoryPath in Workspace
The file was modified/lld/trunk/test/ELF/mips-got-string.s (diff)lld.src/test/ELF/mips-got-string.s
Revision 365685 by nikolaprica:
Revert "[ELF] Loose a condition for relocation with a symbol"

This reverts commit 8507eca1647118e73435b0ce1de8a1952a021d01.

Reveting due to some suspicious failurse in santizer-x86_64-linux.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/MC/ELFObjectWriter.cpp (diff)llvm.src/lib/MC/ELFObjectWriter.cpp
The file was modified/llvm/trunk/test/MC/ELF/basic-elf-32.s (diff)llvm.src/test/MC/ELF/basic-elf-32.s
The file was modified/llvm/trunk/test/MC/ELF/compression.s (diff)llvm.src/test/MC/ELF/compression.s
The file was modified/llvm/trunk/test/MC/ELF/relocation-386.s (diff)llvm.src/test/MC/ELF/relocation-386.s
The file was modified/llvm/trunk/test/MC/Mips/elf-relsym.s (diff)llvm.src/test/MC/Mips/elf-relsym.s
The file was modified/llvm/trunk/test/MC/Mips/xgot.s (diff)llvm.src/test/MC/Mips/xgot.s
Revision 365684 by paquette:
[GlobalISel][AArch64] Use getOpcodeDef instead of findMIFromReg

Some minor cleanup.

This function in Utils does the same thing as `findMIFromReg`. It also looks
through copies, which `findMIFromReg` didn't.

Delete `findMIFromReg` and use `getOpcodeDef` instead. This only happens in
`tryOptVectorDup` right now.

Update opt-shuffle-splat to show that we can look through the copies now, too.

Differential Revision: https://reviews.llvm.org/D64520
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64InstructionSelector.cpp (diff)llvm.src/lib/Target/AArch64/AArch64InstructionSelector.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/opt-shuffle-splat.mir (diff)llvm.src/test/CodeGen/AArch64/GlobalISel/opt-shuffle-splat.mir
Revision 365683 by paquette:
[GlobalISel][AArch64][NFC] Use getDefIgnoringCopies from Utils where we can

There are a few places where we walk over copies throughout
AArch64InstructionSelector.cpp. In Utils, there's a function that does exactly
this which we can use instead.

Note that the utility function works with the case where we run into a COPY
from a physical register. We've run into bugs with this a couple times, so using
it should defend us from similar future bugs.

Also update opt-fold-compare.mir to show that we still handle physical registers
properly.

Differential Revision: https://reviews.llvm.org/D64513
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64InstructionSelector.cpp (diff)llvm.src/lib/Target/AArch64/AArch64InstructionSelector.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/opt-fold-compare.mir (diff)llvm.src/test/CodeGen/AArch64/GlobalISel/opt-fold-compare.mir
Revision 365682 by juliehockett:
Update libc++ include path detection to use VFS on Linux

The DetectLibcxxIncludePath function had been using
llvm::sys::fs::directory_iterator, and this updates it to use
llvm::vfs::directory_iterator.

Differential Revision: https://reviews.llvm.org/D64381
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Driver/ToolChains/Linux.cpp (diff)clang.src/lib/Driver/ToolChains/Linux.cpp
Revision 365681 by yln:
[TSan] Attempt to fix linker error on Linux/AArch64
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/tsan/rtl/tsan_platform_linux.cc (diff)compiler-rt.src/lib/tsan/rtl/tsan_platform_linux.cc