SuccessChanges

Summary

  1. [AArch64][SVE] Disable tail calls if callee does not preserve SVE regs. (details)
  2. Do not map read-only data memory sections with EXECUTE flags. (details)
  3. [lldb/TestingSupport] Manually disable GTEST_HAS_TR1_TUPLE (details)
  4. [lldb] Use PyUnicode_GetLength instead of PyUnicode_GetSize (details)
  5. [lldb] Suppress MSVC warning C4065 (details)
  6. [compiler-rt] Normalize some in/out doxygen parameter in interface (details)
  7. [MLIR][Shape] Expose extent tensor type builder (details)
  8. [lldb] temporary commit to see why a test is failing only on lldb-aarch64-ubuntu (details)
  9. Revert "[lldb] temporary commit to see why a test is failing only on lldb-aarch64-ubuntu" (details)
  10. [docs] Document pattern of using CHECK-SAME to skip irrelevant lines (details)
  11. [llvm-symbolizer] Add legacy aliases -demangle=true and -demangle=false. (details)
  12. [llvm-readobj/elf] - Add a testing for --stackmap and refine the implementation. (details)
  13. [mlir] Lower RankOp to LLVM for unranked memrefs. (details)
  14. [mlir] Conversion of ViewOp with memory space to LLVM. (details)
  15. [lldb] expect TestGuiBasicDebug.py failure on aarch64 (details)
  16. [DAG] Fold vector (aext (load x)) -> (zext (truncate (zextload x))) (details)
  17. [SVE] Add lowering for fixed length vector and, or & xor operations. (details)
  18. Revert "[CMake] Simplify CMake handling for zlib" (details)
Commit f2916636f83dfeb4808a16045db0025783743471 by sander.desmalen
[AArch64][SVE] Disable tail calls if callee does not preserve SVE regs.

This fixes an issue triggered by the following code, where emitEpilogue
got confused when trying to restore the SVE registers after the call,
whereas the call to bar() is implemented as a TCReturn:

  int non_sve();
  int sve(svint32_t x) { return non_sve(); }

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D84869
The file was modifiedllvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64RegisterInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/sve-tailcall.ll
Commit ba0e71432a60e1fa2da9e098cbc574a1d9b9618b by benny.kra
Do not map read-only data memory sections with EXECUTE flags.

The code in SectionMemoryManager.cpp unnecessarily maps
read-only data sections with the READ+EXECUTE flags. This is
undesirable from a security stand-point.

Moreover, on the Fuchsia platform, which is now very strict
about mapping pages with the EXECUTE permission, this simply
fails, because the section's pages were initially allocated
with only the READ+WRITE flags.

A more detailed description of the issue can be found in this
public SwiftShader bug:

  https://issuetracker.google.com/issues/154586551

This patch just restrict the mapping to the READ flag for ROData
sections. Code sections are still mapped with READ+EXECUTE as
expected.

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D78574
The file was modifiedllvm/lib/ExecutionEngine/SectionMemoryManager.cpp
Commit cc68c122cd00f99037b8ff7e645e2b387d56da8b by Tatyana Krasnukha
[lldb/TestingSupport] Manually disable GTEST_HAS_TR1_TUPLE

Gtest 1.8.0 uses tr1::tuple which is deprecated on MSVC. We have to force it off
to avoid the compiler warnings, which will become errors after switching on C++17
(https://devblogs.microsoft.com/cppblog/c17-feature-removals-and-deprecations).
The file was modifiedlldb/unittests/TestingSupport/CMakeLists.txt
Commit 75012a80440f2302d3dc0e57ea264b9c26c26789 by Tatyana Krasnukha
[lldb] Use PyUnicode_GetLength instead of PyUnicode_GetSize

PyUnicode_GetSize is deprecated since Python version 3.3.
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
Commit bc056b3aa7130923ab9ad0505c5a8d65ea721e39 by Tatyana Krasnukha
[lldb] Suppress MSVC warning C4065

MSVC reports "switch statement contains 'default' but no 'case' labels". Suppress,
as this was intended behavior.
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleBridge.cpp
Commit 14948a08f31b6e3b555f73339504efd867835d27 by pierre.gousseau
[compiler-rt] Normalize some in/out doxygen parameter in interface
headers. NFC.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D84945
The file was modifiedcompiler-rt/include/sanitizer/asan_interface.h
The file was modifiedcompiler-rt/include/sanitizer/common_interface_defs.h
Commit 4cd923784e9079384792e0aed38d56809d6a4f9a by frgossen
[MLIR][Shape] Expose extent tensor type builder

The extent tensor type is a `tensor<?xindex>` that is used in the shape dialect.
To facilitate the use of this type when working with the shape dialect, we
expose the helper function for its construction.

Differential Revision: https://reviews.llvm.org/D85121
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/Shape.h
Commit 21f142ce1df10fe6cf5721e263fc6e91aea93938 by l.lunak
[lldb] temporary commit to see why a test is failing only on lldb-aarch64-ubuntu
The file was modifiedlldb/third_party/Python/module/pexpect-4.6/pexpect/pty_spawn.py
Commit 138281904ba029bc49fca34a8658a8fcd1b843aa by l.lunak
Revert "[lldb] temporary commit to see why a test is failing only on lldb-aarch64-ubuntu"

This reverts commit 21f142ce1df10fe6cf5721e263fc6e91aea93938.
The file was modifiedlldb/third_party/Python/module/pexpect-4.6/pexpect/pty_spawn.py
Commit 4963ca4658b0c4ab70f029110150878178328335 by thomasp
[docs] Document pattern of using CHECK-SAME to skip irrelevant lines

This came up during the review for D67656. It's nice but also subtle, so documenting it as an idiom will make tests easier to understand.

Reviewed By: probinson

Differential Revision: https://reviews.llvm.org/D68061
The file was modifiedllvm/docs/CommandGuide/FileCheck.rst
Commit c558c22cab9a555d2e521102b775759381e9727f by benny.kra
[llvm-symbolizer] Add legacy aliases -demangle=true and -demangle=false.

This is used in the wild, don't break compatibility for no good reason.
https://github.com/google/pprof/blob/master/internal/binutils/addr2liner_llvm.go
The file was modifiedllvm/tools/llvm-symbolizer/Opts.td
The file was modifiedllvm/test/tools/llvm-symbolizer/demangle.s
Commit f97019ad6e3a96995dda3f759ee692eb81abcc4c by grimar
[llvm-readobj/elf] - Add a testing for --stackmap and refine the implementation.

Currently, we only test the `--stackmap` option here:
https://github.com/llvm/llvm-project/blob/master/llvm/test/Object/stackmap-dump.test
it uses a precompiled MachO binary currently and I've found no tests for this option for ELF.

The implementation also has issues. For example, it might assert on a wrong version
of the .llvm-stackmaps section. Or it might crash on an empty or truncated section.

This patch introduces a new tools/llvm-readobj/ELF test file as well as implements a few
basic checks to catch simple crashes/issues

It also eliminates `unwrapOrError` calls in `printStackMap()`.

Differential revision: https://reviews.llvm.org/D85208
The file was modifiedllvm/include/llvm/Object/StackMapParser.h
The file was modifiedllvm/lib/CodeGen/StackMaps.cpp
The file was modifiedllvm/tools/llvm-readobj/COFFDumper.cpp
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was addedllvm/test/tools/llvm-readobj/ELF/stackmap.test
Commit a3d427d30cd32f218f53e32b58e232ea8312aa50 by pifon
[mlir] Lower RankOp to LLVM for unranked memrefs.

Differential Revision: https://reviews.llvm.org/D85273
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-to-llvmir.mlir
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
Commit fab4b59961aa35109861493dfe071979d56b4360 by zinenko
[mlir] Conversion of ViewOp with memory space to LLVM.

Handle the case where the ViewOp takes in a memref that has
an memory space.

Reviewed By: ftynse, bondhugula, nicolasvasilache

Differential Revision: https://reviews.llvm.org/D85048
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-to-llvmir.mlir
Commit 188187f062a56604a4339f16f139e3cc720ba2bd by l.lunak
[lldb] expect TestGuiBasicDebug.py failure on aarch64

http://lab.llvm.org:8011/builders/lldb-aarch64-ubuntu/builds/7287/steps/test/logs/stdio
fails, and the output suggests that gui 'finish' (='thread step-out') is broken
on aarch64.
The file was modifiedlldb/test/API/commands/gui/basicdebug/TestGuiBasicDebug.py
Commit 4aaf301fb8f4f666d935fe78ef5d74592eee5fc1 by llvm-dev
[DAG] Fold vector (aext (load x)) -> (zext (truncate (zextload x)))

We currently don't do anything to fold any_extend vector loads as no target has such an instruction.

Instead I've added support for folding to a zextload, SimplifyDemandedBits does a good job of adjusting the zext(truncate(()) stages as required later on.

We still need the custom scalar extload handling instead of using the tryToFoldExtOfLoad helper as it has different legality tests - we can probably tweak that to reduce most of the code duplication.

Fixes the regression I mentioned in rG99a971cadff7

Differential Revision: https://reviews.llvm.org/D85129
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-mul.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-any_extend_load.ll
Commit 927fc536ca225568f2ae853dddbb58e8712b1fbf by paul.walker
[SVE] Add lowering for fixed length vector and, or & xor operations.

Since there are no ill effects when performing these operations
with undefined elements, they are lowered to the already supported
unpredicated scalable vector equivalents.

Differential Revision: https://reviews.llvm.org/D85117
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was addedllvm/test/CodeGen/AArch64/sve-fixed-length-int-log.ll
Commit 3ab01550b632dad46f9595d74855749557ffd25c by hans
Revert "[CMake] Simplify CMake handling for zlib"

This quietly disabled use of zlib on Windows even when building with
-DLLVM_ENABLE_ZLIB=FORCE_ON.

> Rather than handling zlib handling manually, use find_package from CMake
> to find zlib properly. Use this to normalize the LLVM_ENABLE_ZLIB,
> HAVE_ZLIB, HAVE_ZLIB_H. Furthermore, require zlib if LLVM_ENABLE_ZLIB is
> set to YES, which requires the distributor to explicitly select whether
> zlib is enabled or not. This simplifies the CMake handling and usage in
> the rest of the tooling.
>
> This is a reland of abb0075 with all followup changes and fixes that
> should address issues that were reported in PR44780.
>
> Differential Revision: https://reviews.llvm.org/D79219

This reverts commit 10b1b4a231a485f1711d576e6131f6755e008abe and follow-ups
64d99cc6abed78c00a2a7863b02ce54911a5264f and
f9fec0447e12da9e8cf4b628f6d45f4941e7d182.
The file was modifiedclang/test/CMakeLists.txt
The file was modifiedlldb/cmake/modules/LLDBStandalone.cmake
The file was modifiedllvm/lib/Support/CRC.cpp
The file was modifiedllvm/test/CMakeLists.txt
The file was modifiedllvm/lib/Support/Compression.cpp
The file was modifiedllvm/include/llvm/Config/config.h.cmake
The file was modifiedllvm/test/lit.site.cfg.py.in
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedllvm/lib/Support/CMakeLists.txt
The file was modifiedcompiler-rt/test/lit.common.configured.in
The file was modifiedllvm/unittests/Support/CompressionTest.cpp
The file was modifiedlld/test/CMakeLists.txt
The file was modifiedlld/test/lit.site.cfg.py.in
The file was modifiedllvm/cmake/modules/LLVMConfig.cmake.in
The file was modifiedllvm/cmake/config-ix.cmake
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
The file was modifiedclang/test/lit.site.cfg.py.in
The file was modifiedmlir/examples/standalone/CMakeLists.txt