FailedChanges

Summary

  1. [clang][modules] Build inferred modules (details)
  2. [lldb][NFC] Specify guidelines for API tests (details)
  3. [clangd] Set FileSystem for tweaks in Check tool. (details)
  4. [lldb] Let dotest check for the `cassert` header instead of `algorithm` for libc++ check (details)
  5. [AArch64] Lower fpto*i.sat intrinsics. (details)
  6. [mlir][linalg] Remove template parameter from loop lowering. (details)
  7. [WIP][mlir] Resolve memref dependency in canonicalize pass. (details)
  8. [clang][deps] Support inferred modules (details)
  9. IR/AArch64/X86: add "swifttailcc" calling convention. (details)
  10. Revert "tsan: mark sigwait as blocking" (details)
  11. [TargetLowering] prepareUREMEqFold/prepareSREMEqFold - account for non legal shift types (details)
  12. Add `mlirModuleFromOperation` to C API (details)
  13. [Test] Fix test to make the transform for which is was added legal (details)
  14. [clangd][QueryDriver] Dont check for existence of driver (details)
  15. AArch64: mark x22 livein if it's an async context that gets stored. (details)
  16. X86: support Swift Async context (details)
  17. [gn build] Add build file for msan runtime (details)
  18. [gn build] reformat all gn files (details)
  19. [clang][deps] Specify Python 3 in shebang (details)
  20. [PowerPC] Do not emit dssall on AIX (details)
  21. [OpenCL] Drop pragma handling for extension types/decls. (details)
  22. [Test] Auto-generate checks in a test (prepring to update) (details)
  23. Revert "[clang][deps] Support inferred modules" (details)
  24. [mlir] Add folder for complex.ReOp and complex.ImOp. (details)
  25. [PowerPC] Add patterns for vselect of v1i128 (details)
  26. [OpenCL] Fix reinterpret_cast of vectors (details)
  27. Clean up uses of gmock Invoke in an attempt to make it work with GCC 6.2. NFCI. (details)
  28. Revert "[mlir] Add folder for complex.ReOp and complex.ImOp." (details)
  29. [debuginfo-tests] Fix environment variable used to specify LLDB (details)
  30. [X86] Regenerate cmov.ll tests (details)
  31. [InstCombine] isFreeToInvert(): constant expressions aren't free to invert (PR50370) (details)
  32. Put back the trailing commas on TYPED_TEST_SUITE (details)
  33. [mlir][memref] Mark memref.buffer_cast as NoSideEffect (details)
Commit d3676d4b666ead794fc58bbc7e07aa406dcf487a by Jan Svoboda
[clang][modules] Build inferred modules

This patch enables explicitly building inferred modules.

Effectively a cherry-pick of https://github.com/apple/llvm-project/pull/699 authored by @Bigcheese with libclang and dependency scanner changes omitted.

Contains the following changes:

1. [Clang] Fix the header paths in clang::Module for inferred modules.
  * The UmbrellaAsWritten and NameAsWritten fields in clang::Module are a lie for framework modules. For those they actually are the path to the header or umbrella relative to the clang::Module::Directory.
  * The exception to this case is for inferred modules. Here it actually is the name as written, because we print out the module and read it back in when implicitly building modules. This causes a problem when explicitly building an inferred module, as we skip the printing out step.
  * In order to fix this issue this patch adds a new field for the path we want to use in getInputBufferForModule. It also makes NameAsWritten actually be the name written in the module map file (or that would be, in the case of an inferred module).

2. [Clang] Allow explicitly building an inferred module.
  * Building the actual module still fails, but make sure it fails for the right reason.

Split from D100934.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D102491
The file was modifiedclang/lib/Basic/Module.cpp
The file was addedclang/test/Modules/Inputs/explicit-build-inferred/frameworks/module.modulemap
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was addedclang/test/Modules/explicit-build-inferred.cpp
The file was modifiedclang/include/clang/Lex/ModuleMap.h
The file was modifiedclang/lib/Lex/ModuleMap.cpp
The file was modifiedclang/lib/Frontend/FrontendAction.cpp
The file was modifiedclang/lib/Frontend/FrontendActions.cpp
The file was modifiedclang/include/clang/Basic/Module.h
The file was addedclang/test/Modules/Inputs/explicit-build-inferred/frameworks/Inferred.framework/Headers/Inferred.h
Commit 4112f5ef69a166ae1d18da0cde60b8d6c402a5e4 by Raphael Isemann
[lldb][NFC] Specify guidelines for API tests

This patch specifies a few guidelines that our API tests should follow.

The motivations for this are twofold:

1. API tests have unexpected pitfalls that especially new contributors run into
when writing tests. To prevent the frustration of letting people figure those
pitfalls out by trial-and-error, let's just document them briefly in one place.

2. It prevents some arguing about what is the right way to write tests. I really
like to have fast and reliable API test suite, but I also don't want to be the
bogeyman that has to insist in every review that the test should be rewritten to
not launch a process for no good reason. It's much easier to just point to a
policy document.

I omitted some guidelines that I think could be controversial (e.g., the whole
"should assert message describe failure or success").

Reviewed By: shafik

Differential Revision: https://reviews.llvm.org/D101153
The file was modifiedlldb/docs/resources/test.rst
Commit 0e7c7d461df167f141428286afb781636ac92a9e by usx
[clangd] Set FileSystem for tweaks in Check tool.

Tweaks like DefineOutline depend on FS to be set at `apply()` time.
After https://reviews.llvm.org/D93978, tweaks run from Check tool lost
access to FS. This makes the available to apply() once again.

Differential Revision: https://reviews.llvm.org/D102519
The file was modifiedclang-tools-extra/clangd/tool/Check.cpp
Commit 5b614eb4ea6ce047daebc0517eb4efa83123fe58 by Raphael Isemann
[lldb] Let dotest check for the `cassert` header instead of `algorithm` for libc++ check

This is just a dotest check to see if we can compile a simple program that uses
libc++. Right now we are parsing the rather big `algorithm` header in the test
program, but the test really just checks whether we can find *any* libc++
headers and link against some libc++ SO. Using the much smaller `cassert` header
for checking whether we can find libc++ headers speeds up this check by a bit.

After some incredibly unscientific performance testing this saves a few seconds
when running the test suite on Linux (on macOS we hardcoded that libc++ is
always there, so this check won't be used there and we don't save any time).

Reviewed By: jankratochvil

Differential Revision: https://reviews.llvm.org/D101056
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py
Commit 900c8989947a46e0678a0e8ae5d14157f051e14f by jacob.bramley
[AArch64] Lower fpto*i.sat intrinsics.

AArch64's fctv* instructions implement the saturating behaviour that the
fpto*i.sat intrinsics require, in cases where the destination width
matches the saturation width. Lowering them removes a lot of unnecessary
generated code.

Only scalar lowerings are supported for now.

Differential Revision: https://reviews.llvm.org/D102353
The file was modifiedllvm/test/CodeGen/AArch64/fptoui-sat-scalar.ll
The file was addedllvm/test/CodeGen/AArch64/round-fptosi-sat-scalar.ll
The file was addedllvm/test/CodeGen/AArch64/round-fptoui-sat-scalar.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
The file was modifiedllvm/test/CodeGen/AArch64/fptosi-sat-scalar.ll
The file was modifiedllvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
Commit 7c16f93c44caa341404ff78a14eba163cd243e5e by gysit
[mlir][linalg] Remove template parameter from loop lowering.

Replace the templated linalgLowerOpToLoops method by three specialized methods linalgOpToLoops, LinalgOpToParallelLoops, and linalgOpToAffineLoops.

Differential Revision: https://reviews.llvm.org/D102324
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
Commit 1fbb484ea45f85740b7450b175096e5fcff6ecd9 by julian.gross
[WIP][mlir] Resolve memref dependency in canonicalize pass.

Splitting the memref dialect lead to an introduction of several dependencies
to avoid compilation issues. The canonicalize pass also depends on the
memref dialect, but it shouldn't. This patch resolves the dependencies
and the unintuitive includes are removed. However, the dependency moves
to the constructor of the std dialect.

Differential Revision: https://reviews.llvm.org/D102060
The file was modifiedmlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
The file was modifiedmlir/include/mlir/Transforms/Passes.td
The file was modifiedmlir/lib/Dialect/SCF/Transforms/Bufferize.cpp
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.h
The file was modifiedmlir/lib/Transforms/Canonicalizer.cpp
The file was modifiedmlir/lib/Dialect/Shape/Transforms/Bufferize.cpp
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
Commit 1d9e8e13dd7b3204fa51ada17d1608bdbd1bed66 by Jan Svoboda
[clang][deps] Support inferred modules

This patch adds support for inferred modules to the dependency scanner.

Effectively a cherry-pick of https://github.com/apple/llvm-project/pull/699 authored by @Bigcheese with libclang and other changes omitted.

Contains following changes:

1. [Clang][ScanDeps] Ignore __inferred_module.map dependency.
  * This shows up with inferred modules, but it doesn't exist on disk, so don't report it as a dependency.

2. [Clang][ScanDeps] Use the module map a module was inferred from for inferred modules.

Also includes a smoke test that uses clang-scan-deps output to perform an explicit build. There's no intention to duplicate whatever `test/Modules` contains, just to verify the produced command-line does "work" (with very loose definition of work).

Split from D100934.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D102495
The file was addedclang/utils/module-deps-to-rsp.py
The file was addedclang/test/ClangScanDeps/Inputs/modules_inferred_cdb.json
The file was addedclang/test/ClangScanDeps/Inputs/frameworks/module.modulemap
The file was addedclang/test/ClangScanDeps/Inputs/frameworks/System.framework/Modules/module.modulemap
The file was modifiedclang/test/ClangScanDeps/modules-full.cpp
The file was addedclang/test/ClangScanDeps/modules-inferred-explicit-build.m
The file was addedclang/test/ClangScanDeps/Inputs/frameworks/Inferred.framework/Frameworks/Sub.framework/Headers/Sub.h
The file was modifiedclang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
The file was addedclang/test/ClangScanDeps/Inputs/frameworks/System.framework/Headers/System.h
The file was addedclang/test/ClangScanDeps/modules-inferred.m
The file was addedclang/test/ClangScanDeps/Inputs/frameworks/Inferred.framework/Headers/Inferred.h
Commit 82a0e808bb2cddc1ce508c6ae654f8350b082256 by Tim Northover
IR/AArch64/X86: add "swifttailcc" calling convention.

Swift's new concurrency features are going to require guaranteed tail calls so
that they don't consume excessive amounts of stack space. This would normally
mean "tailcc", but there are also Swift-specific ABI desires that don't
naturally go along with "tailcc" so this adds another calling convention that's
the combination of "swiftcc" and "tailcc".

Support is added for AArch64 and X86 for now.
The file was modifiedllvm/test/Bitcode/compatibility.ll
The file was modifiedllvm/lib/Target/X86/X86CallingConv.td
The file was modifiedllvm/test/CodeGen/AArch64/swift-async.ll
The file was addedllvm/test/CodeGen/X86/swifttail-async-i386.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64CallingConvention.td
The file was modifiedllvm/utils/emacs/llvm-mode.el
The file was modifiedllvm/docs/CodeGenerator.rst
The file was modifiedllvm/lib/CodeGen/Analysis.cpp
The file was modifiedllvm/docs/BitCodeFormat.rst
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/tail-call.ll
The file was modifiedllvm/include/llvm/AsmParser/LLToken.h
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86FastISel.cpp
The file was addedllvm/test/CodeGen/AArch64/swifttail-call.ll
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/utils/vim/syntax/llvm.vim
The file was addedllvm/test/CodeGen/AArch64/tailcc-tail-call.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
The file was modifiedllvm/lib/IR/AsmWriter.cpp
The file was modifiedllvm/lib/Target/X86/X86Subtarget.h
The file was modifiedllvm/include/llvm/IR/CallingConv.h
The file was addedllvm/test/CodeGen/AArch64/swifttail-async.ll
The file was addedllvm/test/CodeGen/X86/swifttail-return.ll
The file was addedllvm/test/CodeGen/X86/tailcall-swifttailcc.ll
The file was addedllvm/test/CodeGen/X86/swifttail-async.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/AsmParser/LLLexer.cpp
Commit 086af173998868239aaad7ffd1e79e38dcb2f850 by flo
Revert "tsan: mark sigwait as blocking"

This reverts commit 5dad3d1ba9ad01152be21e94cfbbfb31659ea3e1.

The added test (signal_block2.cpp) does not terminate on some Darwin
configurations and is causing Green Dragon bots to fail. First
failure of the test started in
    http://green.lab.llvm.org/green/job/clang-stage1-RA/20767/
The file was removedcompiler-rt/test/tsan/signal_block2.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
Commit c29522d6489adf85e0bf75fff7bdcf8b12b1b6e5 by llvm-dev
[TargetLowering] prepareUREMEqFold/prepareSREMEqFold - account for non legal shift types

Ensure we tell getShiftAmountTy that we're working with pre-legalized types to prevent cases where the (legalized) shift type can no longer handle the (non-legalized) type width.

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=34366
The file was modifiedllvm/test/CodeGen/X86/urem-seteq.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Commit d89602ed62f3e5f47781659059db6a8cc11122fe by nicolas.vasilache
Add `mlirModuleFromOperation` to C API

At the moment `MlirModule`s can be converted to `MlirOperation`s, but not
the other way around (at least not without going around the C API). This
makes it impossible to e.g. run passes over a `ModuleOp` created through
`mlirOperationCreate`.

Reviewed By: nicolasvasilache, mehdi_amini

Differential Revision: https://reviews.llvm.org/D102497
The file was modifiedmlir/test/CAPI/ir.c
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
The file was modifiedmlir/include/mlir-c/IR.h
Commit 557906d3be7b8825a6728e9ff4feaadc816aebce by mkazantsev
[Test] Fix test to make the transform for which is was added legal

%limit in these tests is supposed to be positive.
The file was modifiedllvm/test/Transforms/LoopDeletion/eval_first_iteration.ll
Commit ec2f7376e39fa5d820d059b6e83e69690fe6315f by kadircet
[clangd][QueryDriver] Dont check for existence of driver

Execute implementations already checks for permissions and existence
and returns relevant errors as necessary, so instead of printing our own errors,
we just print theirs.

This also fixes a case in windows where the driver might be missing the `.exe`
suffix. Previously, clangd would reject such a driver because sys::fs::exists is
strict, whereas the underlying Execute implementation would check with `.exe`
suffix too.

Fixes https://github.com/clangd/clangd/issues/93

Differential Revision: https://reviews.llvm.org/D102431
The file was modifiedclang-tools-extra/clangd/QueryDriverDatabase.cpp
Commit 769ced3d576bef1098c1e5819d4afeb9eee4d6bd by Tim Northover
AArch64: mark x22 livein if it's an async context that gets stored.

This fixes a crash with expensive checks enabled (the verifier was not happy).
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Commit 747e5cfb9f5d944b47fe014925b0d5dc2fda74d7 by Tim Northover
X86: support Swift Async context

This adds support to the X86 backend for the newly committed swiftasync
function parameter. If such a (pointer) parameter is present it gets stored
into an augmented frame record (populated in IR, but generally containing
enhanced backtrace for coroutines using lots of tail calls back and forth).

The context frame is identical to AArch64 (primarily so that unwinders etc
don't get extra complexity). Specfically, the new frame record is [AsyncCtx,
%rbp, ReturnAddr], and its presence is signalled by bit 60 of the stored %rbp
being set to 1. %rbp still points to the frame pointer in memory for backwards
compatibility (only partial on x86, but OTOH the weird AsyncCtx before the rest
of the record is because of x86).
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86FastISel.cpp
The file was addedllvm/test/CodeGen/X86/swift-async.ll
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp
The file was addedllvm/test/CodeGen/X86/swift-async-reg.ll
The file was modifiedllvm/lib/Target/X86/X86MachineFunctionInfo.h
Commit 452e035729a4544a8defda806c1010c7111d5231 by thakis
[gn build] Add build file for msan runtime

Works for the examples on
https://clang.llvm.org/docs/MemorySanitizer.html

Differential Revision: https://reviews.llvm.org/D102554
The file was modifiedllvm/utils/gn/TODO.txt
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/BUILD.gn
The file was modifiedcompiler-rt/lib/msan/CMakeLists.txt
The file was addedllvm/utils/gn/secondary/compiler-rt/lib/msan/BUILD.gn
Commit 77fa9a9b15d48e30e6ae99fdbec86f7e170fd10c by thakis
[gn build] reformat all gn files

$ git ls-files '*.gn' '*.gni' | xargs llvm/utils/gn/gn.py format
The file was modifiedllvm/utils/gn/secondary/llvm/utils/unittest/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/clang/lib/Interpreter/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
Commit e827d74a97dcf6623470baf3bda86b1c9544e3df by Jan Svoboda
[clang][deps] Specify Python 3 in shebang

Some build bots don't like plain `python` in the shebang: https://lab.llvm.org/buildbot/#/builders/139/builds/4147.
The file was modifiedclang/utils/module-deps-to-rsp.py
Commit 74ae778176ec4dc8303e7f0c7dbab973c4c2e97c by nemanja.i.ibm
[PowerPC] Do not emit dssall on AIX

This instruction is a nop on all server cores (certainly on all
cores that AIX supports) so it is fine to emit a nop instead of it.
In fact, that is exactly what XL emits. So we emit a nop on AIX
and we leave the codegen as is on other platforms since there may
indeed be cores out there for which this actually does some prefetching.
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrAltivec.td
The file was addedllvm/test/CodeGen/PowerPC/dssall.ll
Commit 3549466ac05eda57c9ce13abd7cb6dd365f6d8d6 by anastasia.stulova
[OpenCL] Drop pragma handling for extension types/decls.

Drop non-conformant extension pragma implementation as
it does not properly disable anything and therefore
enabling non-disabled logic has no meaning.

This simplifies clang code and user interface to the extension
functionality. With this patch extension pragma 'begin'/'end'
and 'enable'/'disable' are only accepted for backward
compatibility and no longer have any default behavior.

Differential Revision: https://reviews.llvm.org/D101043
The file was removedclang/test/CodeGenOpenCL/extension-begin.cl
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/test/SemaOpenCL/extension-begin.cl
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Parse/ParsePragma.cpp
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/lib/Parse/Parser.cpp
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/include/clang/Sema/Overload.h
The file was modifiedclang/include/clang/Serialization/ASTWriter.h
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedclang/test/SemaOpenCL/extension-begin.h
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit 26b1df8b72efe77354627cc9d316f2ee318a588a by mkazantsev
[Test] Auto-generate checks in a test (prepring to update)
The file was modifiedllvm/test/Transforms/LoopDeletion/unreachable-loops.ll
Commit ccd485e55424b78c07c2f9520faf00b805f78c9b by Jan Svoboda
Revert "[clang][deps] Support inferred modules"

This reverts commit 1d9e8e13

Something is off with handling Windows paths: http://45.33.8.238/win/38908/step_7.txt
Most likely introduced in https://reviews.llvm.org/D102491
The file was removedclang/test/ClangScanDeps/Inputs/frameworks/System.framework/Headers/System.h
The file was removedclang/test/ClangScanDeps/modules-inferred.m
The file was modifiedclang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
The file was removedclang/test/ClangScanDeps/Inputs/frameworks/Inferred.framework/Frameworks/Sub.framework/Headers/Sub.h
The file was removedclang/test/ClangScanDeps/Inputs/frameworks/Inferred.framework/Headers/Inferred.h
The file was removedclang/test/ClangScanDeps/Inputs/frameworks/module.modulemap
The file was removedclang/test/ClangScanDeps/Inputs/frameworks/System.framework/Modules/module.modulemap
The file was removedclang/test/ClangScanDeps/modules-inferred-explicit-build.m
The file was removedclang/utils/module-deps-to-rsp.py
The file was modifiedclang/test/ClangScanDeps/modules-full.cpp
The file was removedclang/test/ClangScanDeps/Inputs/modules_inferred_cdb.json
Commit 6b49834d652ba70fc24eaea1c37330639d697de5 by akuegel
[mlir] Add folder for complex.ReOp and complex.ImOp.

Now that complex constants are supported, we can also fold.

Differential Revision: https://reviews.llvm.org/D102609
The file was modifiedmlir/include/mlir/Dialect/Complex/IR/ComplexOps.td
The file was addedmlir/test/Dialect/Complex/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Complex/IR/ComplexOps.cpp
Commit 511f4ae54ed498981723f597d94cbf41f60b8d78 by nemanja.i.ibm
[PowerPC] Add patterns for vselect of v1i128

These patterns are missing even though the underlying instruction
doesn't really care about the type. Added these patterns to resolve
https://bugs.llvm.org/show_bug.cgi?id=50084
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrVSX.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrAltivec.td
The file was modifiedllvm/test/CodeGen/PowerPC/sat-add.ll
Commit 66b112d624a549489fa0af131cf7b632c6181424 by olemarius.strohm
[OpenCL] Fix reinterpret_cast of vectors

Fixes issues with vectors in reinterpret_cast in C++ for OpenCL
and adds tests to make sure they both pass without errors and
generate the correct code.

Fixes: PR47977

Reviewed By: Anastasia

Differential Revision: https://reviews.llvm.org/D101519
The file was addedclang/test/SemaOpenCLCXX/reinterpret-cast.clcpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/Sema/SemaCast.cpp
The file was addedclang/test/CodeGenOpenCLCXX/reinterpret_cast.clcpp
Commit 34fa3f87335fe87bbbc757e5932a1ace2f47efd0 by benny.kra
Clean up uses of gmock Invoke in an attempt to make it work with GCC 6.2. NFCI.
The file was modifiedllvm/unittests/IR/PassBuilderCallbacksTest.cpp
Commit 967f07f5476a8d7884c822a7d92d83f7f68d5dad by akuegel
Revert "[mlir] Add folder for complex.ReOp and complex.ImOp."

This reverts commit 6b49834d652ba70fc24eaea1c37330639d697de5.

Some tests fail.
The file was removedmlir/test/Dialect/Complex/canonicalize.mlir
The file was modifiedmlir/include/mlir/Dialect/Complex/IR/ComplexOps.td
The file was modifiedmlir/lib/Dialect/Complex/IR/ComplexOps.cpp
Commit d05ae0fd1732507bcf5ad3dbd0ba2ca77f22f633 by james.henderson
[debuginfo-tests] Fix environment variable used to specify LLDB

Currently, if the user specifies the environment variable 'CLANG', tests
will attempt to use the value as a path to the clang executable.
Previously, lldb could also be specified via the CLANG environment
variable, but this was almost certainly a bug, because that meant both
clang and lldb would have the same path. This patch changes the
environment variable for lldb to 'LLDB'.

Reviewed by: thopre, teemperor

Differential Revision: https://reviews.llvm.org/D101982
The file was modifiedllvm/utils/lit/lit/TestingConfig.py
The file was modifieddebuginfo-tests/lit.cfg.py
Commit 0863d06050eb3bbf04a60aabed81e1712c7b7442 by llvm-dev
[X86] Regenerate cmov.ll tests
The file was modifiedllvm/test/CodeGen/X86/cmov.ll
Commit e35a9ecf3df8f26ce50f8429cbaaf5a0e0212e86 by lebedev.ri
[InstCombine] isFreeToInvert(): constant expressions aren't free to invert (PR50370)

This fixes https://bugs.llvm.org/show_bug.cgi?id=50370,
which reports a yet another endless combine loop,
this one regressed from 554b1bced325a8d860ad00bd59020d66d01c95f8,
which fixed yet another endless combine loop (PR50308)

This code had fallen into the very typical pitfall of forgetting
that constant expressions exist, and they aren't free to invert,
because the `not` won't be absorbed by the "constant",
but will remain a (constant) expression...
The file was modifiedllvm/test/Transforms/InstCombine/not-add.ll
The file was modifiedllvm/include/llvm/Transforms/InstCombine/InstCombiner.h
Commit 05de4b413930418b60c0dd1e72681b476b50e7fb by benny.kra
Put back the trailing commas on TYPED_TEST_SUITE

This avoids a -pedantic warning:
warning: ISO C++11 requires at least one argument for the "..." in a variadic macro

See also https://github.com/google/googletest/issues/2271
The file was modifiedllvm/unittests/ADT/DenseMapTest.cpp
The file was modifiedllvm/unittests/ADT/STLForwardCompatTest.cpp
The file was modifiedllvm/unittests/ADT/MapVectorTest.cpp
The file was modifiedllvm/unittests/ADT/PriorityWorklistTest.cpp
The file was modifiedllvm/unittests/IR/PatternMatch.cpp
The file was modifiedclang/unittests/StaticAnalyzer/RangeSetTest.cpp
The file was modifiedllvm/unittests/XRay/FDRRecordPrinterTest.cpp
The file was modifiedllvm/unittests/ADT/TinyPtrVectorTest.cpp
The file was modifiedllvm/unittests/ADT/RangeAdapterTest.cpp
The file was modifiedllvm/unittests/ADT/IntrusiveRefCntPtrTest.cpp
The file was modifiedflang/unittests/RuntimeGTest/CharacterTest.cpp
The file was modifiedllvm/unittests/XRay/GraphTest.cpp
The file was modifiedllvm/unittests/ADT/DenseSetTest.cpp
The file was modifiedllvm/unittests/Support/MathExtrasTest.cpp
The file was modifiedllvm/unittests/ADT/IListBaseTest.cpp
The file was modifiedllvm/unittests/IR/ValueMapTest.cpp
The file was modifiedllvm/unittests/ADT/BitVectorTest.cpp
The file was modifiedllvm/unittests/XRay/FDRProducerConsumerTest.cpp
The file was modifiedllvm/unittests/ADT/SmallVectorTest.cpp
Commit db81e88f25f227a007c1202bd8a88aff722ddc6b by herhut
[mlir][memref] Mark memref.buffer_cast as NoSideEffect

This brings it in line with the bultin unrealized_conversion_cast,
which memref.buffer_cast is a specialized version of.

Differential Revision: https://reviews.llvm.org/D102608
The file was modifiedmlir/test/Dialect/Linalg/bufferize.mlir
The file was modifiedmlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td