SuccessChanges

Summary

  1. [MLIR][Shape] Fix lowering of `shape.get_extent` (details)
  2. Revert "Fix missing build dependency on omp_gen." (details)
  3. [mlir] Fix case in MLIRGPUtoVulkanTransforms (details)
  4. [GlobalISel][InlineAsm] Add support for matching input constraints (details)
  5. AMDGPU/GlobalISel: Select icmp intrinsic (details)
  6. [yaml2obj] - Add a way to set default values for macros used in a YAML. (details)
  7. [yaml2obj] - Support reading a content as an array of bytes using the new 'ContentArray' key. (details)
  8. [IR] NoFree IntrinsicProperty. (details)
  9. [lldb] Modernize TestOperatorOverload.py asserts (details)
  10. [Alignment][NFC] Migrate AtomicExpandPass to Align (details)
  11. [AST][RecoveryExpr] Add error-bit to NestNameSpecifierDependence and TemplateNameDependence. (details)
  12. [mlir] Extended BufferPlacement to support nested region control flow. (details)
  13. [clangd] Remove redundant `findRefs` calls. NFC. (details)
  14. [llvm][Z3][NFC] Improve mkBitvector performance (details)
  15. [SystemZ] Add NoMerge MIFlag (details)
  16. [lldb][NFC] Remove ImportInProgress lock in ClangASTSource (details)
  17. [lldb] Tab completion for `frame select` (details)
  18. [AST] Fix handling of some edge cases in fixed-point division. (details)
  19. [lldb] Tab completion for `frame recognizer delete` (details)
  20. [X86] Add tests for cmp-zero + and/trunc + or-reduction patterns (details)
  21. [lldb] Fix TestModuleGetXcodeSDK test after DWARFYAML change (details)
  22. [PM] Fix new PM to perform SpeculativeExecution as in old PM (details)
  23. [NFC][ARM] Tail predication reduction tests (details)
  24. [Alignment][NFC] Migrate SelectionDAGTargetInfo::EmitTargetCodeForMemset to Align (details)
  25. [Alignment][NFC] Migrate SelectionDAGTargetInfo::EmitTargetCodeForMemmove to Align (details)
  26. [clangd] Suppress GCC -Woverloaded-virtual by renaming ThreadsafeFS extension point (details)
  27. [Alignment][NFC] Migrate SelectionDAGTargetInfo::EmitTargetCodeForMemcpy to Align (details)
  28. Make it possible for client code to consume CLANG_LINK_CLANG_DYLIB (details)
  29. [X86][SSE] LowerVectorAllZero - add support for masked OR-reductions (details)
  30. [lldb/Test] Introduce "assertSuccess" (details)
  31. [ASTMatcher] Fix a performance regression: memorize the child match. (details)
  32. [DWARFYAML][MachO] Remove endianness related tests. (details)
  33. [libc++] Remove dead code since the removal of the old testing format (details)
  34. [runtimes] Rename newformat to just format, now that the old format has been removed (details)
  35. [AST][RecoveryExpr] Avoid spurious 'missing typename' diagnostic when the NNS contains errors. (details)
  36. [SystemZ] Simplify knownbits.ll test (details)
Commit 8577a090f5f04e18d72bb2dd387e60082e4da0ca by frgossen
[MLIR][Shape] Fix lowering of `shape.get_extent`

The declarative conversion patterns caused crashes in the asan configuration.
The non-declarative implementation circumvents this.

Differential Revision: https://reviews.llvm.org/D82797
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp (diff)
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandardPatterns.td (diff)
Commit 39ea5d74b283d5a42f34b856d22bfaf806a1c907 by simon.tatham
Revert "Fix missing build dependency on omp_gen."

This reverts commit ed4328c607306a2aa6df4833a0dce4482edbc94c.

My change apparently caused a buildbot to fail with the error

  CMake Error at /b/sanitizer-x86_64-linux-autoconf/build/tsan_release_build/lib/cmake/llvm/AddLLVM.cmake:869 (add_dependencies):
  The dependency target "omp_gen" of target "ScudoBenchmarks.x86_64" does not
  exist.

I don't at all understand why, because as far as I can see, the target
`omp_gen` is only added to `LLVM_COMMON_DEPENDS` after having been
created, so there //should// be no way it can end up on anything's
dependency list if it doesn't exist! But apparently it happened anyway.

Differential Revision: https://reviews.llvm.org/D82659
The file was modifiedllvm/include/llvm/CMakeLists.txt (diff)
The file was modifiedllvm/include/llvm/Frontend/OpenMP/CMakeLists.txt (diff)
Commit 446b90135f0f88be4b8dddaf6a92842f94e7a43f by thomasraoux
[mlir] Fix case in MLIRGPUtoVulkanTransforms

This changes the casing of MLIRGPUtoVulkanTransforms to be consistent
with other transform libraries.

Differential Revision: https://reviews.llvm.org/D82840
The file was modifiedmlir/lib/Conversion/GPUToVulkan/CMakeLists.txt (diff)
Commit 4b980cc9ca08a0b95b4ac6994770155a48881729 by petar.avramovic
[GlobalISel][InlineAsm] Add support for matching input constraints

Find def operand that corresponds to matching constraint and
tie input to that operand.

Differential Revision: https://reviews.llvm.org/D82651
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-inline-asm.ll (diff)
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/inline-asm.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp (diff)
Commit d7173826331eb2c263ecee607e86cebcf1c08ad7 by petar.avramovic
AMDGPU/GlobalISel: Select icmp intrinsic

Select into corresponding V_CMP instruction based on CmpInst predicate,
stored as immediate, in last operand.

Differential Revision: https://reviews.llvm.org/D82652
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp (diff)
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.icmp.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h (diff)
Commit 657c4ab39dc80f569f422d40347b97586c27b2ba by grimar
[yaml2obj] - Add a way to set default values for macros used in a YAML.

Currently we have to override all macros that are declared. But in many
cases it is convenient to use default values and to override only
a particular one or two.

This provides a way to set a default value for any macro:

```
Symbols:
  - Name: [[FOO=foo]]
```

Differential revision: https://reviews.llvm.org/D82455
The file was modifiedllvm/test/tools/yaml2obj/macro.yaml (diff)
The file was modifiedllvm/tools/yaml2obj/yaml2obj.cpp (diff)
Commit 64bae035ef8c1ca438c412310ef4f3906dd56b77 by grimar
[yaml2obj] - Support reading a content as an array of bytes using the new 'ContentArray' key.

It implements the way to describe a section content using a multi line description. E.g:

```
- Name:         .foo
  Type:         SHT_PROGBITS
  ContentArray: [ 0x11, 0x22, 0x33, 0x44,                                ## .long 11223344
                  0x55, 0x66,                                            ## .short 5566.
                  0x77,                                                  ## .byte 0x77
                  0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF, 0x00 ] ## .quad 0x8899aabbccddeeff
```

It was briefly discussed in D75123 thread previously.

Differential revision: https://reviews.llvm.org/D82366
The file was addedllvm/test/tools/yaml2obj/ELF/content-array.yaml
The file was modifiedllvm/include/llvm/ObjectYAML/ELFYAML.h (diff)
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp (diff)
Commit aa93d84db93451488fc9c645fb970b8f7e481292 by sstipanovic
[IR] NoFree IntrinsicProperty.

Summary:
Separate introduction of IntrNoFree property as suggested in D70365

Reviewers: arsenm, nhaehnle

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82587
The file was modifiedllvm/include/llvm/IR/Intrinsics.td (diff)
The file was modifiedllvm/utils/TableGen/IntrinsicEmitter.cpp (diff)
The file was modifiedllvm/utils/TableGen/CodeGenTarget.cpp (diff)
The file was modifiedllvm/utils/TableGen/CodeGenIntrinsics.h (diff)
Commit 621f84567920bf5a8d79789f01a622115ec8252d by Raphael Isemann
[lldb] Modernize TestOperatorOverload.py asserts
The file was modifiedlldb/test/API/lang/cpp/operator-overload/TestOperatorOverload.py (diff)
Commit 2c5ff48e61b5611dee5696c103e654c98d7e43f1 by gchatelet
[Alignment][NFC] Migrate AtomicExpandPass to Align

This is a followup on D78403.
I'm unsure about `getAtomicOpAlign` overloads that take `AtomicRMWInst` and `AtomicCmpXchgInst`, shouldn't `getAlign` provide the correct answer already?

Differential Revision: https://reviews.llvm.org/D81369
The file was modifiedllvm/include/llvm/IR/Instructions.h (diff)
The file was modifiedllvm/lib/CodeGen/AtomicExpandPass.cpp (diff)
The file was modifiedllvm/lib/IR/Instructions.cpp (diff)
Commit d28267f9810ce8642b27279b91a3a195ba932ce2 by hokein.wu
[AST][RecoveryExpr] Add error-bit to NestNameSpecifierDependence and TemplateNameDependence.

Summary:
We might lose the error-bit if the error-bit goes through the code path
"error type/expr" -> "error template argument" -> "nested name specifier" ->
... -> "template Specialization type"

Template name also needs this, as a template can be nested into
an error specifier, e.g. templateName apply in
`TC<decltype(<recovery-expr>(Foo, int()))>::template apply`

Reviewers: sammccall

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82526
The file was modifiedclang/include/clang/AST/DependenceFlags.h (diff)
The file was modifiedclang/test/Sema/invalid-bitwidth-expr.mm (diff)
Commit 6f5da84f7bb31c7c2fcb78e64d5dc3baea1c60f2 by herhut
[mlir] Extended BufferPlacement to support nested region control flow.

Summary: The current BufferPlacement implementation does not support
nested region control flow. This CL adds support for nested regions via
the RegionBranchOpInterface and the detection of branch-like
(ReturnLike) terminators inside nested regions.

Differential Revision: https://reviews.llvm.org/D81926
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td (diff)
The file was modifiedmlir/lib/Transforms/BufferPlacement.cpp (diff)
The file was modifiedmlir/test/Transforms/buffer-placement.mlir (diff)
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.cpp (diff)
Commit 84ced55d9b7bade7c9db39f3bcebc6af333dc325 by 1585086582
[clangd] Remove redundant `findRefs` calls. NFC.

Summary:
Remove redundant `findRefs` calls.

Reviewers: sammccall, kadircet

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82714
The file was modifiedclang-tools-extra/clangd/XRefs.cpp (diff)
Commit 815a8100e02966043a41ae6b366f23feb470e736 by benicsbalazs
[llvm][Z3][NFC] Improve mkBitvector performance

We convert `APSInt`s to Z3 Bitvectors in an inefficient way for most cases.
We should not serialize to std::string just to pass an int64 integer.

For the vast majority of cases, we use at most 64-bit width integers (at least
in the Clang Static Analyzer). We should simply call the `Z3_mk_unsigned_int64`
and `Z3_mk_int64` instead of the `Z3_mk_numeral` as stated in the Z3 docs.
Which says:
> It (`Z3_mk_unsigned_int64`, etc.) is slightly faster than `Z3_mk_numeral` since
> it is not necessary to parse a string.

If the `APSInt` is wider than 64 bits, we will use the `Z3_mk_numeral` with a
`SmallString` instead of a heap-allocated `std::string`.

Differential Revision: https://reviews.llvm.org/D78453
The file was modifiedllvm/lib/Support/Z3Solver.cpp (diff)
Commit 6764869548a23d03b10b0a9af7aeac534959af29 by iii
[SystemZ] Add NoMerge MIFlag

Summary:
This fixes ASan and MSan tests on SystemZ after
commit 6a822e20ce70 ("[ASan][MSan] Remove EmptyAsm and set the CallInst
to nomerge to avoid from merging.").

Based on commit 80e107ccd088 ("Add NoMerge MIFlag to avoid MIR branch
folding").

Reviewers: uweigand, jonpa

Reviewed By: uweigand

Subscribers: hiraditya, llvm-commits, Andreas-Krebbel

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82794
The file was addedllvm/test/CodeGen/SystemZ/nomerge.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp (diff)
Commit 502773d743417a7896e184b4000bcf20fddb7ad9 by Raphael Isemann
[lldb][NFC] Remove ImportInProgress lock in ClangASTSource

Summary:

The ClangASTSource has a lock that globally disables all lookups into the
external AST source when we explicitly "guarded" copy a type. It's not used for
anything else, so importing declarations or importing types that are
dependencies of a declaration actually won't activate that lock. The lookups it
is supposed to prevent also don't actually happen in our test suite. The check
in `ClangExpressionDeclMap::FindExternalVisibleDecls` is never executed and the
check in the `ClangASTSource::FindExternalVisibleDeclsByName` is only ever
reached by the `Import-std-module` tests (which explicitly do a lookup into the
expression context on purpose).

This lock was added in 6abfabff6158076eccdf6fcac5a12894039de2c9 as a replacement
for a list of types we already looked up which appeared to be an optimisation
strategy. I assume back then this lock had a purpose but these days the
ASTImporter and LLDB seem to be smart enough to avoid whatever lookups this
tried to prevent.

I would say we remove it from LLDB. The main reason is that it blocks D81561
(which explicitly does a specific lookup to resolve placeholder types produced
by `-flimit-debug-info`) but it's semantics are also very confusing. The naming
implies it's a flag to indicate when we import something at the moment which is
practically never true as described above. Also the fact that it makes our
ExternalASTSource alternate between doing lookups into the debug info and
pretending it doesn't know any external decls could really break our lookup in
some weird way if Clang decides to cache a fake empty lookup result that was
generated while the lock was active.

Reviewers: labath, shafik, JDevlieghere, aprantl

Reviewed By: labath, JDevlieghere, aprantl

Subscribers: aprantl, abidh

Differential Revision: https://reviews.llvm.org/D81749
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp (diff)
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp (diff)
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h (diff)
Commit 80eb42281feb7834054be5f933f63d8c64af229d by Raphael Isemann
[lldb] Tab completion for `frame select`

Summary: Provided the tab completion for command `frame select`.

Reviewers: teemperor, JDevlieghere

Reviewed By: teemperor

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D81177
The file was modifiedlldb/source/Commands/CommandObjectFrame.cpp (diff)
The file was modifiedlldb/test/API/functionalities/completion/TestCompletion.py (diff)
Commit 33bae9c265486cd37e0612711a863f0a4b865a26 by bevin.hansson
[AST] Fix handling of some edge cases in fixed-point division.

Division by zero was not being handled, and division of
-EPSILON / MAX did not perform rounding correctly.
The file was modifiedclang/test/Frontend/fixed_point_div.c (diff)
The file was modifiedclang/lib/AST/ExprConstant.cpp (diff)
The file was modifiedclang/lib/Basic/FixedPoint.cpp (diff)
The file was modifiedclang/test/Frontend/fixed_point_errors.c (diff)
Commit c37d25f0d1e059b39fbbc1ccc9f52ddba42be6b9 by Raphael Isemann
[lldb] Tab completion for `frame recognizer delete`

Summary: Provided tab completion for command `frame recognizer delete`.

Reviewers: teemperor, JDevlieghere

Reviewed By: teemperor, JDevlieghere

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D81241
The file was modifiedlldb/test/API/functionalities/completion/TestCompletion.py (diff)
The file was modifiedlldb/source/Commands/CommandObjectFrame.cpp (diff)
Commit 0f8ca20b3e069baa715696d928bcfb1a96fe3a3a by llvm-dev
[X86] Add tests for cmp-zero + and/trunc + or-reduction patterns

Expanding off the original PR44781 test case, show the failure to fold cmp-all-zero patterns when a demanded bits limiting and/trunc is in the way.
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-or-cmp.ll (diff)
Commit bc163f63245e88f18de44f8a13a5c94e78cb18bd by Raphael Isemann
[lldb] Fix TestModuleGetXcodeSDK test after DWARFYAML change

D82622 / fe08ab542bd6328a7906e38ae473cf655eb6a228 changes the YAML format
so this test was failing as the test yaml wasn't updated.
The file was modifiedlldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp (diff)
Commit 1a6cebb4d12c744699e23624f8afda5cbe216fe6 by dfukalov
[PM] Fix new PM to perform SpeculativeExecution as in old PM

Summary:
Old PM runs SpeculativeExecutionPass for targets that have divergent branches.
It uses `createSpeculativeExecutionIfHasBranchDivergencePass` that creates
the pass with `OnlyIfDivergentTarget=true`, whereas new PM just created the
pass with default `OnlyIfDivergentTarget=fase` so it unexpectedly runs and
causes buildbot test fails.

Reviewers: chandlerc, arsenm

Reviewed By: arsenm

Subscribers: wdng, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82735
The file was modifiedllvm/lib/Passes/PassBuilder.cpp (diff)
Commit 2723a9dd6d339ddb452827711bd0453d3a15d05c by sam.parker
[NFC][ARM] Tail predication reduction tests
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/reductions.ll
Commit 6a6af30d433d76b230560cd4578394c88401b7f0 by gchatelet
[Alignment][NFC] Migrate SelectionDAGTargetInfo::EmitTargetCodeForMemset to Align

This patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Differential Revision: https://reviews.llvm.org/D82851
The file was modifiedllvm/lib/Target/X86/X86SelectionDAGInfo.cpp (diff)
The file was modifiedllvm/lib/Target/X86/X86SelectionDAGInfo.h (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp (diff)
The file was modifiedllvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp (diff)
The file was modifiedllvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp (diff)
The file was modifiedllvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h (diff)
The file was modifiedllvm/lib/Target/ARM/ARMSelectionDAGInfo.h (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp (diff)
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h (diff)
Commit 306d7c6929b68d7a6f7f785509250740e1116b46 by gchatelet
[Alignment][NFC] Migrate SelectionDAGTargetInfo::EmitTargetCodeForMemmove to Align

This patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Differential Revision: https://reviews.llvm.org/D82850
The file was modifiedllvm/lib/Target/ARM/ARMSelectionDAGInfo.h (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp (diff)
The file was modifiedllvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (diff)
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h (diff)
Commit 72568984b8040fa8de70a6b4f9c63b6a5aac8d3f by sam.mccall
[clangd] Suppress GCC -Woverloaded-virtual by renaming ThreadsafeFS extension point

Summary:
By making all overloads non-virtual and delegating to a differently-named
private method, we avoid any (harmless) name-hiding in the subclasses.

Reviewers: kadircet

Subscribers: kristof.beyls, ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits, Quuxplusone, dblaikie

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82793
The file was modifiedclang-tools-extra/clangd/unittests/ClangdTests.cpp (diff)
The file was modifiedclang-tools-extra/clangd/support/ThreadsafeFS.cpp (diff)
The file was modifiedclang-tools-extra/clangd/Preamble.cpp (diff)
The file was modifiedclang-tools-extra/clangd/support/ThreadsafeFS.h (diff)
The file was modifiedclang-tools-extra/clangd/unittests/TestFS.h (diff)
Commit c1cd61e02add90ab79b8e4abeb0514d881735870 by gchatelet
[Alignment][NFC] Migrate SelectionDAGTargetInfo::EmitTargetCodeForMemcpy to Align

This patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Differential Revision: https://reviews.llvm.org/D82849
The file was modifiedllvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp (diff)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (diff)
The file was modifiedllvm/lib/Target/Lanai/LanaiSelectionDAGInfo.cpp (diff)
The file was modifiedllvm/lib/Target/XCore/XCoreSelectionDAGInfo.h (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp (diff)
The file was modifiedllvm/lib/Target/Hexagon/HexagonSelectionDAGInfo.cpp (diff)
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h (diff)
The file was modifiedllvm/lib/Target/Lanai/LanaiSelectionDAGInfo.h (diff)
The file was modifiedllvm/lib/Target/X86/X86SelectionDAGInfo.h (diff)
The file was modifiedllvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h (diff)
The file was modifiedllvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp (diff)
The file was modifiedllvm/lib/Target/X86/X86SelectionDAGInfo.cpp (diff)
The file was modifiedllvm/lib/Target/ARM/ARMSelectionDAGInfo.h (diff)
The file was modifiedllvm/lib/Target/BPF/BPFSelectionDAGInfo.h (diff)
The file was modifiedllvm/lib/Target/BPF/BPFSelectionDAGInfo.cpp (diff)
The file was modifiedllvm/lib/Target/Hexagon/HexagonSelectionDAGInfo.h (diff)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h (diff)
The file was modifiedllvm/lib/Target/XCore/XCoreSelectionDAGInfo.cpp (diff)
Commit 05c479491c1d3236cae4eccaa3fcd2794598522c by sguelton
Make it possible for client code to consume CLANG_LINK_CLANG_DYLIB

If a client code wants to consume clang libraries, it needs to know
CLANG_LINK_CLANG_DYLIB value in order to decide whether to use the DYLIB or
individual components.

Differential Revision: https://reviews.llvm.org/D82291
The file was modifiedclang/cmake/modules/ClangConfig.cmake.in (diff)
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
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-or-cmp.ll (diff)
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
The file was modifiedlldb/test/API/commands/register/register/register_command/TestRegisters.py (diff)
The file was modifiedlldb/test/API/python_api/hello_world/TestHelloWorld.py (diff)
The file was modifiedlldb/test/API/commands/expression/dont_allow_jit/TestAllowJIT.py (diff)
The file was modifiedlldb/test/API/commands/expression/result_numbering/TestResultNumbering.py (diff)
The file was modifiedlldb/test/API/commands/expression/timeout/TestCallWithTimeout.py (diff)
The file was modifiedlldb/test/API/commands/expression/pr35310/TestExprsBug35310.py (diff)
The file was modifiedlldb/test/API/commands/expression/call-throws/TestCallThatThrows.py (diff)
The file was modifiedlldb/test/API/commands/expression/call-restarts/TestCallThatRestarts.py (diff)
The file was modifiedlldb/test/API/commands/expression/context-object-objc/TestContextObjectObjc.py (diff)
The file was modifiedlldb/test/API/commands/expression/fixits/TestFixIts.py (diff)
The file was modifiedlldb/test/API/commands/expression/unwind_expression/TestUnwindExpression.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py (diff)
The file was modifiedlldb/test/API/commands/expression/options/TestExprOptions.py (diff)
The file was modifiedlldb/test/API/commands/expression/weak_symbols/TestWeakSymbols.py (diff)
The file was modifiedlldb/test/API/commands/target/auto-install-main-executable/TestAutoInstallMainExecutable.py (diff)
The file was modifiedlldb/test/API/commands/expression/context-object/TestContextObject.py (diff)
The file was modifiedlldb/test/API/commands/expression/scoped_enums/TestScopedEnumType.py (diff)
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
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp (diff)
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.
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF5-debug_info.yaml (diff)
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF-debug_info.yaml (diff)
Commit b58b61c4b78ce81a4ef974374c707163b3691bfe by Louis Dionne
[libc++] Remove dead code since the removal of the old testing format
The file was removedlibcxx/test/libcxx/selftest/test.pass.mm
The file was removedlibcxx/utils/libcxx/test/tracing.py
The file was removedlibcxx/test/libcxx/selftest/test.pass.cpp
The file was removedlibcxx/utils/libcxx/test/executor.py
The file was removedlibcxx/utils/libcxx/test/format.py
The file was removedlibcxx/test/libcxx/selftest/test.arc.pass.mm
The file was removedlibcxx/test/libcxx/selftest/test.sh.cpp
The file was modifiedlibcxx/utils/libcxx/test/config.py (diff)
The file was removedlibcxx/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
The file was removedlibcxx/test/libcxx/selftest/newformat/link.fail.cpp/link-error.link.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/compile.fail.cpp/compile-error.compile.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/tmpdir-exists.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/file_dependencies/absolute-and-relative-paths.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/run.fail.cpp/link-error.run.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/pass.cpp/werror.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/pass.mm/no-arc.pass.mm
The file was removedlibcxx/test/libcxx/selftest/newformat/fail.cpp/no-diagnostics-unmarked.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/compile.pass.cpp/run-error.compile.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/fail.cpp/right-diagnostic.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/fail.cpp/compile-success.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/run.fail.cpp/compile-error.run.fail.cpp
The file was modifiedlibcxx/test/lit.site.cfg.in (diff)
The file was modifiedlibunwind/test/lit.site.cfg.in (diff)
The file was addedlibcxx/test/libcxx/selftest/pass.cpp/run-success.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/compile.pass.cpp/link-error.compile.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/verify.cpp/no-werror.verify.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/shell-escape.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/fail.cpp/compile-success.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/link.pass.cpp/link-error.link.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/link.pass.cpp/link-success.link.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/verify.cpp/no-werror.verify.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/fail.cpp/compile-failure.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/compile.fail.cpp/compile-success.compile.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/pass.mm/run-success.pass.mm
The file was addedlibcxx/test/libcxx/selftest/link.pass.cpp/compile-error.link.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/shell-escape-pipes.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/link.fail.cpp/link-success.link.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/file_dependencies/dir/b.txt
The file was removedlibcxx/test/libcxx/selftest/newformat/pass.cpp/run-error.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/compile.pass.cpp/run-error.compile.pass.cpp
The file was addedlibcxx/utils/libcxx/test/format.py
The file was removedlibcxx/test/libcxx/selftest/newformat/run.fail.cpp/run-error.run.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/pass.mm/compile-error.pass.mm
The file was removedlibcxx/test/libcxx/selftest/newformat/fail.cpp/lit.local.cfg
The file was addedlibcxx/test/libcxx/selftest/convenience_substitutions/build_run.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/pass.cpp/link-error.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/pass.mm/compile-error.pass.mm
The file was removedlibcxx/test/libcxx/selftest/newformat/link.pass.cpp/run-error.link.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/link.fail.cpp/link-error.link.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/fail.cpp/no-diagnostics-unmarked.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/fail.cpp/compile-failure.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/sh.cpp/substitutions.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/pass.cpp/run-error.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/pass.cpp/compile-error.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/fail.cpp/wrong-diagnostic.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/sh.cpp/empty.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/additional_compile_flags/substitutes-in-compile-flags.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/sh.cpp/run-success.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/fail.cpp/right-diagnostic.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/pass.mm/run-error.pass.mm
The file was removedlibcxx/test/libcxx/selftest/newformat/tmpdir-exists.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/fail.cpp/no-diagnostics.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/link.pass.cpp/link-success.link.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/shell-escape.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/link.pass.cpp/run-error.link.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/sh.cpp/werror.sh.cpp
The file was modifiedlibcxxabi/test/lit.site.cfg.in (diff)
The file was addedlibcxx/test/libcxx/selftest/fail.cpp/lit.local.cfg
The file was addedlibcxx/test/libcxx/selftest/sh.cpp/substitutions.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/run.fail.cpp/run-success.run.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/compile.fail.cpp/compile-error.compile.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/fail.cpp/wrong-diagnostic.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/link.fail.cpp/link-success.link.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/run.fail.cpp/run-error.run.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/verify.cpp/wrong-diagnostic.verify.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/pass.cpp/link-error.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/additional_compile_flags/substitutes-in-compile-flags.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/lit.local.cfg
The file was addedlibcxx/test/libcxx/selftest/verify.cpp/no-diagnostics-unmarked.verify.cpp
The file was addedlibcxx/test/libcxx/selftest/verify.cpp/right-diagnostic.verify.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/shell-escape-pipes.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/additional_compile_flags/substitutes-in-run.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/pass.mm/link-error.pass.mm
The file was removedlibcxx/test/libcxx/selftest/newformat/convenience_substitutions/build_run.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/pass.cpp/run-success.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/additional_compile_flags/substitutes-in-run.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/pass.cpp/compile-error.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/verify.cpp/right-diagnostic.verify.cpp
The file was addedlibcxx/test/libcxx/selftest/pass.mm/link-error.pass.mm
The file was removedlibcxx/test/libcxx/selftest/newformat/link.pass.cpp/compile-error.link.pass.cpp
The file was modifiedlibcxx/utils/libcxx/test/dsl.py (diff)
The file was addedlibcxx/test/libcxx/selftest/file_dependencies/absolute-and-relative-paths.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/file_dependencies/substitute-in-dependencies.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/link.pass.cpp/link-error.link.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/sh.cpp/empty.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/verify.cpp/no-diagnostics.verify.cpp
The file was addedlibcxx/test/libcxx/selftest/file_dependencies/a.txt
The file was addedlibcxx/test/libcxx/selftest/pass.mm/run-success.pass.mm
The file was removedlibcxx/test/libcxx/selftest/newformat/link.fail.cpp/compile-error.link.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/pass.cpp/werror.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/run.fail.cpp/link-error.run.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/compile.pass.cpp/compile-success.compile.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/remote-substitutions.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/run.fail.cpp/run-success.run.fail.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/compile.pass.cpp/compile-error.compile.pass.cpp
The file was removedlibcxx/utils/libcxx/test/newformat.py
The file was removedlibcxx/test/libcxx/selftest/newformat/compile.pass.cpp/compile-success.compile.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/compile.pass.cpp/compile-error.compile.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/sh.cpp/run-error.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/compile.pass.cpp/link-error.compile.pass.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/file_dependencies/a.txt
The file was addedlibcxx/test/libcxx/selftest/pass.mm/use-objective-cxx.pass.mm
The file was addedlibcxx/test/libcxx/selftest/sh.cpp/werror.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/pass.mm/use-objective-cxx.pass.mm
The file was addedlibcxx/test/libcxx/selftest/sh.cpp/run-error.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/pass.mm/run-error.pass.mm
The file was addedlibcxx/test/libcxx/selftest/sh.cpp/run-success.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/verify.cpp/no-diagnostics-unmarked.verify.cpp
The file was addedlibcxx/test/libcxx/selftest/verify.cpp/no-diagnostics.verify.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/verify.cpp/wrong-diagnostic.verify.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/remote-substitutions.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/compile.fail.cpp/compile-success.compile.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/link.fail.cpp/compile-error.link.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/file_dependencies/dir/b.txt
The file was addedlibcxx/test/libcxx/selftest/file_dependencies/substitute-in-dependencies.sh.cpp
The file was removedlibcxx/test/libcxx/selftest/newformat/run.fail.cpp/compile-error.run.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/pass.mm/no-arc.pass.mm
The file was removedlibcxx/test/libcxx/selftest/newformat/fail.cpp/no-diagnostics.fail.cpp
Commit d285f29317d6086e9ab941730f1ee5a468196a4e by hokein.wu
[AST][RecoveryExpr] Avoid spurious 'missing typename' diagnostic when the NNS contains errors.

Differential Revision: https://reviews.llvm.org/D82631
The file was modifiedclang/include/clang/AST/NestedNameSpecifier.h (diff)
The file was addedclang/test/SemaTemplate/nss-recovery.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp (diff)
The file was modifiedclang/lib/AST/NestedNameSpecifier.cpp (diff)
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.
The file was modifiedllvm/test/CodeGen/SystemZ/knownbits.ll (diff)