Commit
82de01895455c2ac0f2aa7397414ca96757bea06
by llvm-dev[X86][SSE] LowerVectorAllZero - add support for masked OR-reductions
If we're masking the result of an OR-reduction before comparing against zero, we can fold this into the PTEST() / MOVMSK(CMPEQ()) codegen by pre-masking the source value.
This works particularly well on PTEST which performs the AND as part of its operation, but the MOVMSK variant also benefits for non-V2I64 cases.
Fixes PR44781
|
 | llvm/test/CodeGen/X86/vector-reduce-or-cmp.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
35674976f09ec99e74d0d28b4a64b6bce360c128
by pavel[lldb/Test] Introduce "assertSuccess"
Summary: A lot of our tests do 'self.assertTrue(error.Success()'. The problem with that is that when this fails, it produces a completely useless error message (False is not True) and the most important piece of information -- the actual error message -- is completely hidden.
Sometimes we mitigate that by including the error message in the "msg" argument, but this has two additional problems: - as the msg argument is evaluated unconditionally, one needs to be careful to not trigger an exception when the operation was actually successful. - it requires more typing, which means we often don't do it
assertSuccess solves these problems by taking the entire SBError object as an argument. If the operation was unsuccessful, it can format a reasonable error message itself. The function still accepts a "msg" argument, which can include any additional context, but this context now does not need to include the error message.
To demonstrate usage, I replace a number of existing assertTrue assertions with the new function. As this process is not easily automatable, I have just manually updated a representative sample. In some cases, I did not update the code to use assertSuccess, but I went for even higher-level assertion apis (runCmd, expect_expr), as these are even shorter, and can produce even better failure messages.
Reviewers: teemperor, JDevlieghere
Subscribers: arphaman, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D82759
|
 | lldb/test/API/python_api/hello_world/TestHelloWorld.py |
 | lldb/packages/Python/lldbsuite/test/lldbtest.py |
 | lldb/test/API/commands/expression/call-throws/TestCallThatThrows.py |
 | lldb/test/API/commands/expression/weak_symbols/TestWeakSymbols.py |
 | lldb/test/API/commands/expression/pr35310/TestExprsBug35310.py |
 | lldb/test/API/commands/expression/call-restarts/TestCallThatRestarts.py |
 | lldb/test/API/commands/expression/unwind_expression/TestUnwindExpression.py |
 | lldb/test/API/commands/register/register/register_command/TestRegisters.py |
 | lldb/test/API/commands/expression/dont_allow_jit/TestAllowJIT.py |
 | lldb/test/API/commands/expression/result_numbering/TestResultNumbering.py |
 | lldb/test/API/commands/expression/scoped_enums/TestScopedEnumType.py |
 | lldb/test/API/commands/expression/timeout/TestCallWithTimeout.py |
 | lldb/test/API/commands/expression/context-object-objc/TestContextObjectObjc.py |
 | lldb/test/API/commands/expression/fixits/TestFixIts.py |
 | lldb/test/API/commands/target/auto-install-main-executable/TestAutoInstallMainExecutable.py |
 | lldb/test/API/commands/expression/context-object/TestContextObject.py |
 | lldb/test/API/commands/expression/options/TestExprOptions.py |
Commit
9f865246a81759cdcb056c883e6f92fe6693b3d3
by hokein.wu[ASTMatcher] Fix a performance regression: memorize the child match.
D80025 introduced a performance regression: in some cases, it makes clang-tidy readability-container-size-empty ~80x slower (running on an internal huge TU, before that patch 12s vs after 950s).
after this patch, we go back to 12s.
Differential Revision: https://reviews.llvm.org/D82771
|
 | clang/lib/ASTMatchers/ASTMatchFinder.cpp |
Commit
8032727a43ca678b0b923abaa04638f500a060d6
by Xing[DWARFYAML][MachO] Remove endianness related tests.
fe08ab542bd6328a7906e38ae473cf655eb6a228 makes build bots unhappy (http://lab.llvm.org:8011/builders/clang-s390x-linux/builds/33624/steps/ninja%20check%201/logs/FAIL%3A%20LLVM%3A%3ADWARF-debug_info.yaml).
This patch removes failed tests.
|
 | llvm/test/ObjectYAML/MachO/DWARF5-debug_info.yaml |
 | llvm/test/ObjectYAML/MachO/DWARF-debug_info.yaml |
Commit
b58b61c4b78ce81a4ef974374c707163b3691bfe
by Louis Dionne[libc++] Remove dead code since the removal of the old testing format
|
 | libcxx/test/libcxx/selftest/test.pass.mm |
 | libcxx/test/libcxx/selftest/test.pass.cpp |
 | libcxx/utils/libcxx/test/executor.py |
 | libcxx/test/libcxx/selftest/test.arc.pass.mm |
 | libcxx/utils/libcxx/test/config.py |
 | libcxx/utils/libcxx/test/format.py |
 | libcxx/utils/libcxx/test/tracing.py |
 | libcxx/test/libcxx/selftest/test.sh.cpp |
 | libcxx/test/libcxx/selftest/exec.sh.cpp |
Commit
70f6389257a85a8fa7f128a05a1ccbd0dbba191c
by Louis Dionne[runtimes] Rename newformat to just format, now that the old format has been removed
|
 | libcxx/test/libcxx/selftest/newformat/fail.cpp/compile-failure.fail.cpp |
 | libcxx/test/libcxx/selftest/newformat/compile.pass.cpp/link-error.compile.pass.cpp |
 | libcxx/test/libcxx/selftest/link.pass.cpp/compile-error.link.pass.cpp |
 | libcxx/test/libcxx/selftest/newformat/remote-substitutions.sh.cpp |
 | libcxx/test/libcxx/selftest/verify.cpp/no-diagnostics-unmarked.verify.cpp |
 | libcxx/test/libcxx/selftest/newformat/link.fail.cpp/link-success.link.fail.cpp |
 | libcxx/test/libcxx/selftest/newformat/link.pass.cpp/compile-error.link.pass.cpp |
 | libcxx/test/libcxx/selftest/shell-escape-pipes.sh.cpp |
 | libcxx/test/libcxx/selftest/newformat/sh.cpp/run-success.sh.cpp |
 | libcxx/test/libcxx/selftest/newformat/verify.cpp/wrong-diagnostic.verify.cpp |
 | libcxx/test/libcxx/selftest/verify.cpp/no-werror.verify.cpp |
 | libcxxabi/test/lit.site.cfg.in |
 | libcxx/test/libcxx/selftest/newformat/pass.cpp/werror.pass.cpp |
 | libcxx/test/lit.site.cfg.in |
 | libcxx/test/libcxx/selftest/fail.cpp/lit.local.cfg |
 | libcxx/test/libcxx/selftest/newformat/fail.cpp/compile-success.fail.cpp |
 | libcxx/utils/libcxx/test/newformat.py |
 | libcxx/test/libcxx/selftest/newformat/compile.fail.cpp/compile-success.compile.fail.cpp |
 | libcxx/test/libcxx/selftest/link.pass.cpp/run-error.link.pass.cpp |
 | libcxx/test/libcxx/selftest/sh.cpp/substitutions.sh.cpp |
 | libcxx/test/libcxx/selftest/file_dependencies/absolute-and-relative-paths.sh.cpp |
 | libcxx/test/libcxx/selftest/sh.cpp/werror.sh.cpp |
 | libcxx/test/libcxx/selftest/compile.pass.cpp/compile-success.compile.pass.cpp |
 | libcxx/test/libcxx/selftest/newformat/additional_compile_flags/substitutes-in-run.sh.cpp |
 | libcxx/test/libcxx/selftest/verify.cpp/right-diagnostic.verify.cpp |
 | libcxx/test/libcxx/selftest/pass.mm/use-objective-cxx.pass.mm |
 | libcxx/test/libcxx/selftest/run.fail.cpp/compile-error.run.fail.cpp |
 | libcxx/test/libcxx/selftest/fail.cpp/compile-failure.fail.cpp |
 | libcxx/test/libcxx/selftest/pass.cpp/run-success.pass.cpp |
 | libcxx/test/libcxx/selftest/fail.cpp/right-diagnostic.fail.cpp |
 | libcxx/test/libcxx/selftest/pass.cpp/link-error.pass.cpp |
 | libcxx/test/libcxx/selftest/newformat/sh.cpp/empty.sh.cpp |
 | libcxx/test/libcxx/selftest/newformat/lit.local.cfg |
 | libcxx/test/libcxx/selftest/compile.pass.cpp/run-error.compile.pass.cpp |
 | libcxx/test/libcxx/selftest/newformat/file_dependencies/absolute-and-relative-paths.sh.cpp |
 | libcxx/test/libcxx/selftest/newformat/pass.mm/run-success.pass.mm |
 | libcxx/test/libcxx/selftest/pass.mm/compile-error.pass.mm |
 | libcxx/test/libcxx/selftest/compile.fail.cpp/compile-success.compile.fail.cpp |
 | libcxx/test/libcxx/selftest/fail.cpp/wrong-diagnostic.fail.cpp |
 | libcxx/test/libcxx/selftest/newformat/file_dependencies/dir/b.txt |
 | libcxx/test/libcxx/selftest/newformat/fail.cpp/lit.local.cfg |
 | libcxx/test/libcxx/selftest/newformat/fail.cpp/no-diagnostics-unmarked.fail.cpp |
 | libcxx/test/libcxx/selftest/pass.cpp/compile-error.pass.cpp |
 | libcxx/test/libcxx/selftest/newformat/run.fail.cpp/run-error.run.fail.cpp |
 | libcxx/test/libcxx/selftest/file_dependencies/substitute-in-dependencies.sh.cpp |
 | libcxx/test/libcxx/selftest/compile.fail.cpp/compile-error.compile.fail.cpp |
 | libcxx/test/libcxx/selftest/newformat/pass.cpp/compile-error.pass.cpp |
 | libcxx/test/libcxx/selftest/newformat/fail.cpp/no-diagnostics.fail.cpp |
 | libcxx/test/libcxx/selftest/pass.cpp/run-error.pass.cpp |
 | libcxx/test/libcxx/selftest/newformat/run.fail.cpp/run-success.run.fail.cpp |
 | libcxx/test/libcxx/selftest/newformat/sh.cpp/substitutions.sh.cpp |
 | libcxx/test/libcxx/selftest/newformat/pass.cpp/run-error.pass.cpp |
 | libcxx/test/libcxx/selftest/sh.cpp/run-error.sh.cpp |
 | libcxx/test/libcxx/selftest/newformat/verify.cpp/right-diagnostic.verify.cpp |
 | libcxx/test/libcxx/selftest/pass.mm/link-error.pass.mm |
 | libcxx/test/libcxx/selftest/newformat/compile.pass.cpp/run-error.compile.pass.cpp |
 | libcxx/test/libcxx/selftest/pass.mm/run-success.pass.mm |
 | libcxx/test/libcxx/selftest/newformat/sh.cpp/run-error.sh.cpp |
 | libcxx/test/libcxx/selftest/newformat/verify.cpp/no-werror.verify.cpp |
 | libcxx/test/libcxx/selftest/newformat/link.pass.cpp/link-error.link.pass.cpp |
 | libcxx/test/libcxx/selftest/run.fail.cpp/run-error.run.fail.cpp |
 | libcxx/test/libcxx/selftest/link.fail.cpp/link-error.link.fail.cpp |
 | libcxx/test/libcxx/selftest/file_dependencies/dir/b.txt |
 | libcxx/test/libcxx/selftest/link.fail.cpp/link-success.link.fail.cpp |
 | libcxx/test/libcxx/selftest/compile.pass.cpp/compile-error.compile.pass.cpp |
 | libcxx/test/libcxx/selftest/newformat/pass.cpp/run-success.pass.cpp |
 | libcxx/test/libcxx/selftest/fail.cpp/no-diagnostics.fail.cpp |
 | libcxx/test/libcxx/selftest/newformat/pass.mm/use-objective-cxx.pass.mm |
 | libcxx/test/libcxx/selftest/fail.cpp/no-diagnostics-unmarked.fail.cpp |
 | libcxx/test/libcxx/selftest/run.fail.cpp/link-error.run.fail.cpp |
 | libcxx/test/libcxx/selftest/newformat/verify.cpp/no-diagnostics.verify.cpp |
 | libcxx/test/libcxx/selftest/verify.cpp/no-diagnostics.verify.cpp |
 | libcxx/test/libcxx/selftest/newformat/compile.pass.cpp/compile-success.compile.pass.cpp |
 | libcxx/test/libcxx/selftest/link.pass.cpp/link-success.link.pass.cpp |
 | libcxx/test/libcxx/selftest/newformat/sh.cpp/werror.sh.cpp |
 | libcxx/test/libcxx/selftest/newformat/compile.pass.cpp/compile-error.compile.pass.cpp |
 | libcxx/test/libcxx/selftest/newformat/pass.mm/link-error.pass.mm |
 | libcxx/test/libcxx/selftest/additional_compile_flags/substitutes-in-compile-flags.sh.cpp |
 | libcxx/test/libcxx/selftest/pass.cpp/werror.pass.cpp |
 | libcxx/test/libcxx/selftest/newformat/pass.mm/no-arc.pass.mm |
 | libcxx/test/libcxx/selftest/newformat/shell-escape-pipes.sh.cpp |
 | libcxx/test/libcxx/selftest/newformat/link.fail.cpp/link-error.link.fail.cpp |
 | libcxx/test/libcxx/selftest/newformat/additional_compile_flags/substitutes-in-compile-flags.sh.cpp |
 | libcxx/test/libcxx/selftest/tmpdir-exists.sh.cpp |
 | libcxx/test/libcxx/selftest/pass.mm/run-error.pass.mm |
 | libcxx/test/libcxx/selftest/newformat/run.fail.cpp/link-error.run.fail.cpp |
 | libcxx/test/libcxx/selftest/newformat/fail.cpp/right-diagnostic.fail.cpp |
 | libcxx/test/libcxx/selftest/shell-escape.sh.cpp |
 | libcxx/test/libcxx/selftest/fail.cpp/compile-success.fail.cpp |
 | libcxx/test/libcxx/selftest/compile.pass.cpp/link-error.compile.pass.cpp |
 | libcxx/test/libcxx/selftest/newformat/link.pass.cpp/run-error.link.pass.cpp |
 | libcxx/test/libcxx/selftest/newformat/convenience_substitutions/build_run.sh.cpp |
 | libcxx/test/libcxx/selftest/newformat/shell-escape.sh.cpp |
 | libcxx/test/libcxx/selftest/verify.cpp/wrong-diagnostic.verify.cpp |
 | libcxx/test/libcxx/selftest/additional_compile_flags/substitutes-in-run.sh.cpp |
 | libcxx/test/libcxx/selftest/run.fail.cpp/run-success.run.fail.cpp |
 | libcxx/test/libcxx/selftest/convenience_substitutions/build_run.sh.cpp |
 | libcxx/test/libcxx/selftest/newformat/file_dependencies/a.txt |
 | libcxx/test/libcxx/selftest/pass.mm/no-arc.pass.mm |
 | libcxx/test/libcxx/selftest/newformat/link.fail.cpp/compile-error.link.fail.cpp |
 | libcxx/test/libcxx/selftest/sh.cpp/empty.sh.cpp |
 | libcxx/test/libcxx/selftest/newformat/pass.mm/run-error.pass.mm |
 | libcxx/test/libcxx/selftest/newformat/compile.fail.cpp/compile-error.compile.fail.cpp |
 | libcxx/test/libcxx/selftest/file_dependencies/a.txt |
 | libcxx/test/libcxx/selftest/newformat/pass.cpp/link-error.pass.cpp |
 | libcxx/test/libcxx/selftest/remote-substitutions.sh.cpp |
 | libcxx/test/libcxx/selftest/link.pass.cpp/link-error.link.pass.cpp |
 | libcxx/test/libcxx/selftest/link.fail.cpp/compile-error.link.fail.cpp |
 | libcxx/test/libcxx/selftest/newformat/tmpdir-exists.sh.cpp |
 | libcxx/test/libcxx/selftest/newformat/link.pass.cpp/link-success.link.pass.cpp |
 | libcxx/test/libcxx/selftest/newformat/fail.cpp/wrong-diagnostic.fail.cpp |
 | libcxx/test/libcxx/selftest/sh.cpp/run-success.sh.cpp |
 | libunwind/test/lit.site.cfg.in |
 | libcxx/test/libcxx/selftest/newformat/file_dependencies/substitute-in-dependencies.sh.cpp |
 | libcxx/test/libcxx/selftest/newformat/run.fail.cpp/compile-error.run.fail.cpp |
 | libcxx/utils/libcxx/test/format.py |
 | libcxx/test/libcxx/selftest/newformat/verify.cpp/no-diagnostics-unmarked.verify.cpp |
 | libcxx/utils/libcxx/test/dsl.py |
 | libcxx/test/libcxx/selftest/newformat/pass.mm/compile-error.pass.mm |
Commit
d285f29317d6086e9ab941730f1ee5a468196a4e
by hokein.wu[AST][RecoveryExpr] Avoid spurious 'missing typename' diagnostic when the NNS contains errors.
Differential Revision: https://reviews.llvm.org/D82631
|
 | clang/include/clang/AST/NestedNameSpecifier.h |
 | clang/lib/Sema/SemaDecl.cpp |
 | clang/test/SemaTemplate/nss-recovery.cpp |
 | clang/lib/AST/NestedNameSpecifier.cpp |
Commit
e9c6b63d4a16c7955bf0e7d5c1ab4adbb9d385cc
by ulrich.weigand[SystemZ] Simplify knownbits.ll test
The knownbits.ll test case is somewhat fragile since: - it relies on undef inputs; and - it operates just at the limits of the MaxRecursionDepth
This means that optimization changes may easily cause the test to spuriously fail. Rewrite the test so it still validates the same thing, but in a less fragile manner.
|
 | llvm/test/CodeGen/SystemZ/knownbits.ll |
Commit
ce404c8b854b18ca2aaa9529986b3eced73793a3
by gchatelet[NFC] Remove dead code
Differential Revision: https://reviews.llvm.org/D81195
|
 | llvm/include/llvm/CodeGen/CallingConvLower.h |