SuccessChanges

Summary

  1. [DAGCombiner] fold select-of-constants based on sign-bit test (details)
  2. [Concepts] Concept Specialization Expressions (details)
  3. gn build: Merge r374903 (details)
  4. Skip PExpect tests under ASAN, I can't get them to work reliably. (details)
  5. Increase gdbremote_testcase timeouts when running under ASAN. (details)
  6. [Concepts] Remove unused and illegal Sema includes from ExprCXX.cpp (details)
Commit d545c9056e00988d2d146f8f1440b2dd192f306b by spatel
[DAGCombiner] fold select-of-constants based on sign-bit test
Examples:
i32 X > -1 ? C1 : -1 --> (X >>s 31) | C1
i8 X < 0 ? C1 : 0 --> (X >>s 7) & C1
This is a small generalization of a fold requested in PR43650:
https://bugs.llvm.org/show_bug.cgi?id=43650
The sign-bit of the condition operand can be used as a mask for the true
operand: https://rise4fun.com/Alive/paT
Note that we already handle some of the patterns (isNegative + scalar)
because there's an over-specialized, yet over-reaching fold for that in
foldSelectCCToShiftAnd(). It doesn't use any TLI hooks, so I can't
easily rip out that code even though we're duplicating part of it here.
This fold is guarded by TLI.convertSelectOfConstantsToMath(), so it
should not cause problems for targets that prefer select over shift.
Also worth noting: I thought we could generalize this further to include
the case where the true operand of the select is not constant, but Alive
says that may allow poison to pass through where it does not in the
original select form of the code.
Differential Revision: https://reviews.llvm.org/D68949
llvm-svn: 374902
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/select-sra.ll (diff)
Commit 5d98ba6077dac656fbf023e9312d9c131d53144c by saar
[Concepts] Concept Specialization Expressions
Part of C++20 Concepts implementation effort. Added Concept
Specialization Expressions that are created when a concept is refe$
D41217 on Phabricator.
(recommit after fixing failing Parser test on windows)
llvm-svn: 374903
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td (diff)
The file was addedclang/test/CXX/temp/temp.constr/temp.constr.decl/class-template-decl.cpp
The file was modifiedclang/include/clang/Basic/StmtNodes.td (diff)
The file was removedclang/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p6.cpp
The file was modifiedclang/lib/Sema/CMakeLists.txt (diff)
The file was modifiedclang/lib/Sema/TreeTransform.h (diff)
The file was removedclang/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p1.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp (diff)
The file was modifiedclang/tools/libclang/CXCursor.cpp (diff)
The file was removedclang/test/CXX/concepts-ts/temp/temp.constr/temp.constr.decl/class-template-decl.cpp
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp (diff)
The file was addedclang/test/PCH/cxx2a-concept-specialization-expr.cpp
The file was modifiedclang/lib/AST/StmtPrinter.cpp (diff)
The file was removedclang/test/CXX/concepts-ts/expr/expr.prim/expr.prim.id/p3.cpp
The file was modifiedclang/lib/Sema/SemaExceptionSpec.cpp (diff)
The file was removedclang/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p7.cpp
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h (diff)
The file was modifiedclang/include/clang/AST/ExprCXX.h (diff)
The file was modifiedclang/include/clang/Sema/Sema.h (diff)
The file was removedclang/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p5.cpp
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp (diff)
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngine.cpp (diff)
The file was modifiedclang/lib/AST/ExprCXX.cpp (diff)
The file was modifiedclang/lib/AST/ExprConstant.cpp (diff)
The file was modifiedclang/lib/AST/StmtProfile.cpp (diff)
The file was modifiedclang/lib/Parse/ParseExpr.cpp (diff)
The file was modifiedclang/lib/AST/ItaniumMangle.cpp (diff)
The file was modifiedclang/lib/AST/ExprClassification.cpp (diff)
The file was removedclang/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp
The file was removedclang/test/CXX/concepts-ts/dcl.dcl/lit.cfg.py
The file was addedclang/lib/Sema/SemaConcept.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp (diff)
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp (diff)
The file was modifiedclang/test/Parser/cxx2a-concept-declaration.cpp (diff)
The file was modifiedclang/include/clang/Serialization/ASTBitCodes.h (diff)
The file was modifiedclang/lib/AST/Expr.cpp (diff)
The file was modifiedclang/lib/Frontend/FrontendActions.cpp (diff)
The file was addedclang/test/CXX/expr/expr.prim/expr.prim.id/p3.cpp
Commit 0cdf478955156b64467627a49accaff793580ea7 by llvmgnsyncbot
gn build: Merge r374903
llvm-svn: 374904
The file was modifiedllvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn (diff)
Commit 263eb368694228efc155f1140779b561d1c34db4 by Adrian Prantl
Skip PExpect tests under ASAN, I can't get them to work reliably.
llvm-svn: 374905
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/gui/basic/TestGuiBasic.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/multiline-completion/TestMultilineCompletion.py (diff)
Commit b459be1025140e7db52de236dc91a83a3e4333d0 by Adrian Prantl
Increase gdbremote_testcase timeouts when running under ASAN.
llvm-svn: 374906
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py (diff)
Commit 84423bd4396b14d5beb156807377f85d347e68b3 by saar
[Concepts] Remove unused and illegal Sema includes from ExprCXX.cpp
Fixing accidental includes introduced in 374903
llvm-svn: 374907
The file was modifiedclang/lib/AST/ExprCXX.cpp (diff)