SuccessChanges

Summary

  1. flang-aarch64-ubuntu-clang: Refine the set-up for `-WError` (details)
Commit 90d5e81834d17236e3b22b67de09e94e50dcd501 by andrzej.warzynski
flang-aarch64-ubuntu-clang: Refine the set-up for `-WError`

As this builder is primiarly used for testing Flang, use -WError only
when building Flang (as opposed to all of LLVM).

Differential Revision: https://reviews.llvm.org/D88811
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)

Summary

  1. [AttributeFuncs][FIX] Update new tests (D87304, D87306) after sret changes (details)
  2. [AST][RecoveryExpr] Support dependent binary operator in C for error recovery. (details)
  3. [SVE][CodeGen] Fix DAGCombiner::ForwardStoreValueToDirectLoad for scalable vectors (details)
  4. [lldb] Symlink the Clang resource directory to the LLDB build directory in standalone builds (details)
  5. [LLDB] Add QEMU testing environment setup guide for SVE testing (details)
  6. [flang][NFC] Remove redundant `;` (details)
  7. [mlir][Linalg] Reintroduced missing verification check (details)
  8. [clangd] Fix an inconsistent ReasonToReject enum usage, NFC. (details)
  9. [MLIR][SPIRVToLLVM] Conversion for composite extract and insert (details)
  10. [AMDGPU] Fix gcc warnings (details)
  11. [clangd] Verify the diagnostic code in include-fixer diagnostic tests, NFC. (details)
  12. [llvm-readobj/elf][test] - Stop using precompiled binaries in mips-got.test (details)
  13. [VPlan] Add vplan native path vectorization test case for inner loop reduction (details)
  14. Revert "[llvm-objcopy][MachO] Add missing std::move." (details)
  15. Revert "[llvm-objcopy][MachO] Add support for universal binaries" (details)
  16. [mlir] Add file to implement bufferization for shape ops. (details)
  17. [OpenMP][RTL] Remove dead code (details)
  18. [SVE] Lower fixed length vector floating point rounding operations. (details)
  19. [SVE] Lower fixed length vector fneg and fsqrt operations. (details)
  20. [clangd] Add `score` extension to workspace/symbol response. (details)
  21. [AArch64] Correct parameter type for unsigned Neon scalar shift intrinsics (details)
Commit ee599bf2a9fe6d79777dbe1912daf2a34cbc14e1 by johannes
[AttributeFuncs][FIX] Update new tests (D87304, D87306) after sret changes

Hopefully the last of these, apologies for the noise.
The file was modifiedllvm/test/Verifier/align.ll
The file was modifiedllvm/test/Verifier/noundef.ll
Commit 70d9dc867417ac63fe280ab145776f75a9487f0f by hokein.wu
[AST][RecoveryExpr] Support dependent binary operator in C for error recovery.

see the whole context in:  https://reviews.llvm.org/D85025

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D84226
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was addedclang/test/Sema/error-dependence.c
The file was modifiedclang/test/AST/ast-dump-recovery.c
The file was modifiedclang/include/clang/AST/ASTContext.h
Commit 4ed47d50ea819fc3cf7341e86e947fef920743df by david.sherwood
[SVE][CodeGen] Fix DAGCombiner::ForwardStoreValueToDirectLoad for scalable vectors

In DAGCombiner::ForwardStoreValueToDirectLoad I have fixed up some
implicit casts from TypeSize -> uint64_t and replaced calls to
getVectorNumElements() with getVectorElementCount(). There are some
simple cases of forwarding that we can definitely support for
scalable vectors, i.e. when the store and load are both scalable
vectors and have the same size. I have added tests for the new
code paths here:

  CodeGen/AArch64/sve-forward-st-to-ld.ll

Differential Revision: https://reviews.llvm.org/D87098
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was addedllvm/test/CodeGen/AArch64/sve-forward-st-to-ld.ll
Commit ce4d15fe142eb0e0ed7c998a73b13e7bee45d99e by Raphael Isemann
[lldb] Symlink the Clang resource directory to the LLDB build directory in standalone builds

When doing a standalone build (i.e., building just LLDB against an existing
LLVM/Clang installation), LLDB is currently unable to find any Clang resource
directory that contains all the builtin headers we need to parse real source
code. This causes several tests that actually parse source code on disk within
the expression parser to fail (most notably nearly all the import-std-module
tests).

The reason why LLDB can't find the resource directory is that we search based on
the path of the LLDB shared library path. We assumed that the Clang resource
directory is in the same prefix and has the same relative path to the LLDB
shared library (e.g., `../clang/10.0.0/include`). However for a standalone build
where the existing Clang can be anywhere on the disk, so we can't just rely on
the hardcoded relative paths to the LLDB shared library.

It seems we can either solve this by copying the resource directory to the LLDB
installation, symlinking it there or we pass the path to the Clang installation
to the code that is trying to find the resource directory. When building the
LLDB framework we currently copy the resource directory over to the framework
folder (this is why the import-std-module are not failing on the Green Dragon
standalone bot).

This patch symlinks the resource directory of Clang into the LLDB build
directory. The reason for that is simply that this is only needed when running
LLDB from the build directory. Once LLDB and Clang/LLVM are installed the
already existing logic can find the Clang resource directory by searching
relative to the LLDB shared library.

Reviewed By: kastiglione, JDevlieghere

Differential Revision: https://reviews.llvm.org/D88581
The file was modifiedlldb/source/API/CMakeLists.txt
The file was modifiedlldb/cmake/modules/LLDBFramework.cmake
The file was modifiedlldb/cmake/modules/LLDBConfig.cmake
Commit 3dffec03b0f68be8d77b0545a0eef795a6662cd3 by omair.javaid
[LLDB] Add QEMU testing environment setup guide for SVE testing

This patch adds a HowTo document to lldb docs which gives instruction for
setting up a virtual environment based on QEMU emulator for LLDB testing.

Instruction in this document are tested on Arm and AArch64 targets but
can easily be duplicated for other targets supported by QEMU.

This helps test LLDB in absence for modern AArch64 features not released
in publicly available hardware till date.

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D82064
The file was modifiedlldb/docs/index.rst
The file was addedlldb/docs/use/qemu-testing.rst
The file was addedlldb/scripts/lldb-test-qemu/rootfs.sh
The file was addedlldb/scripts/lldb-test-qemu/setup.sh
The file was addedlldb/scripts/lldb-test-qemu/run-qemu.sh
The file was modifiedlldb/docs/resources/test.rst
Commit 25692b7765e2364896a0136f5b54dde3de2dd563 by andrzej.warzynski
[flang][NFC] Remove redundant `;`

Sadly this has been causing gcc-10 builds to fail.
The file was modifiedflang/include/flang/Frontend/TextDiagnosticPrinter.h
Commit 4a8c70c3194aeeb286b4bea1666168f710cbe04f by nicolas.vasilache
[mlir][Linalg] Reintroduced missing verification check

A verification check on the number of indexing maps seems to have dropped inadvertently. Also update the relevant roundtrip tests.
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
Commit 77d3b14458dd2aaafa20e6172a893cf0abab6453 by hokein.wu
[clangd] Fix an inconsistent ReasonToReject enum usage, NFC.
The file was modifiedclang-tools-extra/clangd/refactor/Rename.cpp
Commit b81bedf7146ad5a163e9f1d7283c83ffa4e2043f by georgemitenk0v
[MLIR][SPIRVToLLVM] Conversion for composite extract and insert

A pattern to convert `spv.CompositeInsert` and `spv.CompositeExtract`.
In LLVM, there are 2 ops that correspond to each instruction depending
on the container type. If the container type is a vector type, then
the result of conversion is `llvm.insertelement` or `llvm.extractelement`.
If the container type is an aggregate type (i.e. struct, array), the
result of conversion is `llvm.insertvalue` or `llvm.extractvalue`.

Reviewed By: mravishankar

Differential Revision: https://reviews.llvm.org/D88205
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/misc-ops-to-llvm.mlir
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
Commit 9fc535f987b4fff62ec659d965b8ba1d371977fe by sebastian.neubauer
[AMDGPU] Fix gcc warnings

uint8_t types are implicitly promoted to int, leading to a
unsigned-signed comparison.

Thanks for the heads-up @uabelho.

Differential Revision: https://reviews.llvm.org/D88876
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
Commit 48a82c42457b47936d8e1f4b2af6a1f3cbb6e992 by hokein.wu
[clangd] Verify the diagnostic code in include-fixer diagnostic tests, NFC.

Make it easier to spot which diagnostics in the include-fixer list are tested.

Differential Revision: https://reviews.llvm.org/D88828
The file was modifiedclang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
Commit f1ceaa200f9364ff6ca66a930872b19d99e5a339 by grimar
[llvm-readobj/elf][test] - Stop using precompiled binaries in mips-got.test

This removed 2 last precompiled binaries from the mips-got.test.
YAML descriptions are used instead.

Differential revision: https://reviews.llvm.org/D88565
The file was removedllvm/test/tools/llvm-readobj/ELF/Inputs/got-empty.exe.mipsel
The file was modifiedllvm/test/tools/llvm-readobj/ELF/mips-got.test
The file was removedllvm/test/tools/llvm-readobj/ELF/Inputs/got-static.exe.mips
Commit cef0de5eb59dde6369645d37883f393354c99acd by flo
[VPlan] Add vplan native path vectorization test case for inner loop reduction

Regarding this bug I posted earlier: https://bugs.llvm.org/show_bug.cgi?id=47035

After reading through LLVM source code and getting familiar with VPlan I was able to vectorize the code using by enabling VPlan native path. After talking with @fhahn he suggested that I contribute this as a test case. So here it is. I tried to follow the available guides how to do this best I could. I modified IR code by hand to have more clear variable names instead of numbers.

One thing what I'd like to get input from someone is that is current CHECK lines sufficient enough to verify that the inner loop has been vectorized properly?

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D87564
The file was addedllvm/test/Transforms/LoopVectorize/vplan-vectorize-inner-loop-reduction.ll
Commit 8ed7946a7d94f9d23b7f33356a1903d481daa5a0 by gribozavr
Revert "[llvm-objcopy][MachO] Add missing std::move."

This reverts commit 6e25586990b93e2c9eaaa4f473b6720ccd646c46. It depends
on 32c8435ef70031d7bd3dce48e41bdce65747e123, which I'm reverting due to
ASan failures. Details in https://reviews.llvm.org/D88400.
The file was modifiedllvm/tools/llvm-objcopy/llvm-objcopy.cpp
Commit 80f66ac0d544d2d9d3108033148d60bb4760b319 by gribozavr
Revert "[llvm-objcopy][MachO] Add support for universal binaries"

This reverts commit 32c8435ef70031d7bd3dce48e41bdce65747e123. It fails
ASan, details in https://reviews.llvm.org/D88400.
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
The file was modifiedllvm/include/llvm/Object/MachOUniversalWriter.h
The file was modifiedllvm/test/tools/llvm-objcopy/MachO/strip-all.test
The file was modifiedllvm/lib/Object/MachOUniversalWriter.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.h
The file was removedllvm/test/tools/llvm-objcopy/MachO/universal-object.test
The file was removedllvm/tools/llvm-objcopy/llvm-objcopy.h
The file was modifiedllvm/tools/llvm-objcopy/llvm-objcopy.cpp
Commit fe2bd543f5e82bc14ef37dc5ec2228812098cf7a by tpopp
[mlir] Add file to implement bufferization for shape ops.

This adds a shape-bufferize pass and implements the pattern for
shape.assuming.

Differential Revision: https://reviews.llvm.org/D88083
The file was modifiedmlir/include/mlir/Dialect/Shape/Transforms/Passes.h
The file was addedmlir/test/Dialect/Shape/shape-type-conversion.mlir
The file was addedmlir/lib/Dialect/Shape/Transforms/ShapeTypeConversion.cpp
The file was modifiedmlir/include/mlir/Dialect/Shape/Transforms/Passes.td
The file was modifiedmlir/lib/Dialect/Shape/Transforms/CMakeLists.txt
Commit 3a12ff0dac5ab4f0e1f446abe66b451c1df8dac1 by Pushpinder.Singh
[OpenMP][RTL] Remove dead code

RequiresDataSharing was always 0, resulting dead code in device runtime library.

Reviewed By: jdoerfert, JonChesterfield

Differential Revision: https://reviews.llvm.org/D88829
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_simd_codegen.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/common/omptarget.h
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/omptarget.cu
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_proc_bind_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_force_full_runtime_SPMD_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_codegen.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/interface.h
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/amdgcn_target_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_SPMD_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
Commit 8bb702a8ad30205d46818c1e3b1260c19222ba9b by paul.walker
[SVE] Lower fixed length vector floating point rounding operations.

Adds lowering for:
  llvm.ceil
  llvm.floor
  llvm.nearbyint
  llvm.rint
  llvm.round
  llvm.trunc

Differential Revision: https://reviews.llvm.org/D88671
The file was addedllvm/test/CodeGen/AArch64/sve-fixed-length-fp-rounding.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit 27f3d51b4ef9bf4dc9cfeed88f66fcfc7ee99ee9 by paul.walker
[SVE] Lower fixed length vector fneg and fsqrt operations.

Also updates sve-fp.ll to use fneg directly.

Differential Revision: https://reviews.llvm.org/D88683
The file was modifiedllvm/test/CodeGen/AArch64/sve-fp.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-fp-arith.ll
Commit 3cb1220709fa556d4d29ce0e25fd30a16895ae24 by sam.mccall
[clangd] Add `score` extension to workspace/symbol response.

The protocol doesn't really incorporate ranking.
As with code completion, most clients respect what the server sends, but
VSCode re-ranks items, with predictable results.
See https://github.com/clangd/vscode-clangd/issues/81

There's no filterText field so we may be unable to construct a good workaround.
But expose the score so we may be able to do this on the client in future.

Differential Revision: https://reviews.llvm.org/D88844
The file was modifiedclang-tools-extra/clangd/Protocol.cpp
The file was modifiedclang-tools-extra/clangd/test/symbols.test
The file was modifiedclang-tools-extra/clangd/Protocol.h
The file was modifiedclang-tools-extra/clangd/FindSymbols.cpp
Commit f0a78bdfdc6d56b25e0081884580b3960a3c2429 by david.spickett
[AArch64] Correct parameter type for unsigned Neon scalar shift intrinsics

In the following intrinsics the shift amount
(parameter 2) should be signed.

vqshlb_u8 vqshlh_u16  vqshls_u32  vqshld_u64
vqrshlb_u8 vqrshlh_u16 vqrshls_u32 vqrshld_u64
vshld_u64
vrshld_u64

See https://developer.arm.com/documentation/ihi0073/latest

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D88013
The file was modifiedclang/include/clang/Basic/arm_neon.td
The file was modifiedclang/test/CodeGen/aarch64-neon-intrinsics.c

Summary

  1. flang-aarch64-ubuntu-clang: Refine the set-up for `-WError` (details)
Commit 90d5e81834d17236e3b22b67de09e94e50dcd501 by andrzej.warzynski
flang-aarch64-ubuntu-clang: Refine the set-up for `-WError`

As this builder is primiarly used for testing Flang, use -WError only
when building Flang (as opposed to all of LLVM).

Differential Revision: https://reviews.llvm.org/D88811
The file was modifiedbuildbot/osuosl/master/config/builders.py