SuccessChanges

Summary

  1. Use more efficient "e2" machine types (details)
  2. updated Windows container version (details)
  3. Added automatic cluster config and  deployment (details)
Commit fe0d2ecc195db768ccd9e2f3fab4b618d33097c7 by kuhnel
Use more efficient "e2" machine types

These are ~30% cheaper, but sadly don't support GPUs.

Differential Revision: https://reviews.llvm.org/D85211
The file was modifiedbuildbot/google/terraform/main.tf (diff)
Commit 9b433279a0b5802eaa12dd95150b9b06b718af83 by kuhnel
updated Windows container version
The file was modifiedbuildbot/google/terraform/main.tf (diff)
Commit 74e099cb9569f67ddb4341839eea408abc67e04e by kuhnel
Added automatic cluster config and  deployment

Based on ideas in https://reviews.llvm.org/D84258
The file was modifiedbuildbot/google/terraform/main.tf (diff)

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)
  19. [X86][AVX] Add test showing unnecessary duplicate HADD instructions (details)
  20. CallLowering.h - remove unnecessary CCState forward declaration. NFCI. (details)
  21. GISelWorkList.h - remove unnecessary includes. NFCI. (details)
  22. Support member expressions in bugprone-bool-pointer-implicit-conversion. (details)
  23. [obj2yaml] Add support for dumping the .debug_aranges section. (details)
  24. [mlir] Fix convert-to-llvmir.mlir test broken due to syntax change (details)
  25. DWARFVerifier.h - remove unnecessary forward declarations and includes. NFCI. (details)
  26. [ARM][CostModel] Implement getCFInstrCost (details)
  27. [CUDA][HIP] Support accessing static device variable in host code for -fno-gpu-rdc (details)
  28. [mlir] Remove LLVMTypeTestDialect (details)
  29. [clang][NFC] Remove spurious +x flag on DeclTemplate.cpp and DeclTemplate.h (details)
  30. [clang][NFC] Add a test showcasing an unnamed template parameter in a diagnostic (details)
  31. [clang][NFC] Remove an old workaround for MSVC 2013 (details)
  32. [clang][NFC] Document NamedDecl::printName (details)
  33. [clang][nearly-NFC] Remove some superfluous uses of NamedDecl::getNameAsString (details)
  34. [clang][NFCI] Get rid of ConstantMatrixTypeBitfields to avoid increasing the size of every type. (details)
  35. [clang][NFC] DeclPrinter: use NamedDecl::getDeclName instead of NamedDecl::printName to print the name of enumerations, namespaces and template parameters. (details)
  36. [gn build] (manually) merge 3ab01550b (details)
  37. Recommit "[InstCombine] Negator: -(X << C)  -->  X * (-1 << C)" (details)
  38. [mlir] Initial version of C APIs (details)
  39. [clang] Add -fno-delayed-template-parsing to the added unit tests in DeclPrinterTest.cpp (details)
  40. [Statepoints] Operand folding in presense of tied registers. (details)
  41. [OpenMP] Fix `present` for exit from `omp target data` (details)
  42. [OpenMP][Docs] Add map clause reordering status as unclaimed (details)
  43. [OpenMP][Docs] Mark `present` map type modifier as done (details)
  44. [OpenMP] Fix `omp target update` for array extension (details)
  45. [llvm-readobj] - Make decode_relrs() don't return Expected<>. NFCI. (details)
  46. [X86][AVX] Fold CONCAT(HOP(X,Y),HOP(Z,W)) -> HOP(CONCAT(X,Z),CONCAT(Y,W)) for integer types (details)
  47. [X86] isHorizontalBinOp - only update LHS/RHS references on success (details)
  48. [libc] Add isspace, isprint, isxdigit implementations. (details)
  49. [libc] [obvious] Add ctype functions to linux api. (details)
  50. Bump forgotten version nbr in llvm/docs/conf.py (details)
  51. [clangd] Fix a crash in DefineInline (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/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64RegisterInfo.h
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/lib/CodeGen/StackMaps.cpp
The file was modifiedllvm/tools/llvm-readobj/COFFDumper.cpp
The file was modifiedllvm/include/llvm/Object/StackMapParser.h
The file was addedllvm/test/tools/llvm-readobj/ELF/stackmap.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit a3d427d30cd32f218f53e32b58e232ea8312aa50 by pifon
[mlir] Lower RankOp to LLVM for unranked memrefs.

Differential Revision: https://reviews.llvm.org/D85273
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-to-llvmir.mlir
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/test/CodeGen/X86/avx512-any_extend_load.ll
The file was modifiedllvm/test/CodeGen/X86/vector-mul.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/X86/avx512-shuffles/partial_permute.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.h
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
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 modifiedllvm/lib/Support/CRC.cpp
The file was modifiedllvm/test/lit.site.cfg.py.in
The file was modifiedllvm/unittests/Support/CompressionTest.cpp
The file was modifiedllvm/include/llvm/Config/config.h.cmake
The file was modifiedmlir/examples/standalone/CMakeLists.txt
The file was modifiedllvm/test/CMakeLists.txt
The file was modifiedllvm/lib/Support/Compression.cpp
The file was modifiedllvm/cmake/config-ix.cmake
The file was modifiedlld/test/lit.site.cfg.py.in
The file was modifiedclang/test/CMakeLists.txt
The file was modifiedcompiler-rt/test/lit.common.configured.in
The file was modifiedclang/test/lit.site.cfg.py.in
The file was modifiedlldb/cmake/modules/LLDBStandalone.cmake
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
The file was modifiedlld/test/CMakeLists.txt
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedllvm/cmake/modules/LLVMConfig.cmake.in
The file was modifiedllvm/lib/Support/CMakeLists.txt
Commit 300899b9c4ed505f43840a9876e96dbb5ba4ce52 by llvm-dev
[X86][AVX] Add test showing unnecessary duplicate HADD instructions

Taken from internal fuzz test
The file was modifiedllvm/test/CodeGen/X86/haddsub-undef.ll
Commit e3d3657b9be12dec947dbbc672a004f802ff2338 by llvm-dev
CallLowering.h - remove unnecessary CCState forward declaration. NFCI.

Already defined in CallingConvLower.h
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
Commit 315e1daf7f452979e298bae368bb71b92314751f by llvm-dev
GISelWorkList.h - remove unnecessary includes. NFCI.
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/GISelWorkList.h
Commit a44161692ae879068d4086a7e568a348800ba01d by aaron
Support member expressions in bugprone-bool-pointer-implicit-conversion.

This addresses PR45189.
The file was modifiedclang-tools-extra/clang-tidy/bugprone/BoolPointerImplicitConversionCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-bool-pointer-implicit-conversion.cpp
Commit bd7f3f8a3ed70586f2b6a68b267b83d18e6fbdb4 by Xing
[obj2yaml] Add support for dumping the .debug_aranges section.

This patch adds support for dumping DWARF sections to obj2yaml. The
.debug_aranges section is used to illustrate the basic idea.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D85094
The file was modifiedllvm/tools/obj2yaml/obj2yaml.h
The file was addedllvm/test/tools/obj2yaml/ELF/DWARF/debug-aranges.yaml
The file was modifiedllvm/tools/obj2yaml/elf2yaml.cpp
Commit bdb9295664aa2ea0ee195505a0ca78ea8e34e657 by zinenko
[mlir] Fix convert-to-llvmir.mlir test broken due to syntax change

The syntax of the LLVM dialect types changed between the time the code
was written and it was submitted, leading to a test failure. Update the
syntax.
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-to-llvmir.mlir
Commit 7b993903e0448a1f804882c97f3071e799cbe99e by llvm-dev
DWARFVerifier.h - remove unnecessary forward declarations and includes. NFCI.
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
Commit f2675ab45fbb41bb7c1e1b0b86533fc83e877b6b by sam.parker
[ARM][CostModel] Implement getCFInstrCost

As with other targets, set the throughput cost of control-flow
instructions to free so that we don't miss out of vectorization
opportunities.

Differential Revision: https://reviews.llvm.org/D85283
The file was modifiedllvm/test/Analysis/CostModel/ARM/cast_ldst.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-smax.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/shuffle.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/ARM/control-flow.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/cmps.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-add.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/sub-cast-vect.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/mul-cast-vect.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-umin.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/test/Analysis/CostModel/ARM/divrem.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/shl-cast-vect.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/fparith.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/select.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/arith.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/arith-usat.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/arith-overflow.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/arith-ssat.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/memcpy.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/mve-gather-scatter-cost.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/cast.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-umax.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/load_store.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/gep.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-smin.ll
Commit 45f2a56856e29b8cb038b2e559289b91fb98fedf by Yaxun.Liu
[CUDA][HIP] Support accessing static device variable in host code for -fno-gpu-rdc

nvcc supports accessing file-scope static device variables in host code by host APIs
like cudaMemcpyToSymbol etc.

CUDA/HIP let users access device variables in host code by shadow variables. In host compilation,
clang emits a shadow variable for each device variable, and calls __*RegisterVariable to
register it in init function. The address of the shadow variable and the device side mangled
name of the device variable is passed to __*RegisterVariable. Runtime looks up the symbol
by name in the device binary  to find the address of the device variable.

The problem with static device variables is that they have internal linkage, therefore their
name may be changed by the linker if there are multiple symbols with the same name. Also
they end up as local symbols in the elf file, whereas the runtime only looks up the global symbols.

Another reason for making the static device variables external linkage is that they may be
initialized externally by host code and their final value may be accessed by host code
after kernel execution, therefore they actually have external linkage. Giving them internal
linkage will cause incorrect optimizations on them.

To support accessing static device var in host code for -fno-gpu-rdc mode, change the intnernal
linkage to external linkage. The name does not need change since there is only one TU for
-fno-gpu-rdc mode. Also the externalization is done only if the device static var is referenced
by host code.

Differential Revision: https://reviews.llvm.org/D80858
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/CodeGenCUDA/constexpr-variables.cu
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was addedclang/test/CodeGenCUDA/static-device-var-no-rdc.cu
Commit 4e491570b5ecff17d3ac7cf6dbb328d379cd4fb6 by zinenko
[mlir] Remove LLVMTypeTestDialect

This dialect was introduced during the bring-up of the new LLVM dialect type
system for testing purposes. The main LLVM dialect now uses the new type system
and the test dialect is no longer necessary, so remove it.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D85224
The file was modifiedmlir/tools/mlir-translate/CMakeLists.txt
The file was modifiedmlir/test/lib/Dialect/CMakeLists.txt
The file was removedmlir/test/lib/Dialect/LLVMIR/CMakeLists.txt
The file was modifiedmlir/test/Dialect/LLVMIR/types-invalid.mlir
The file was modifiedmlir/tools/mlir-translate/mlir-translate.cpp
The file was removedmlir/test/lib/Dialect/LLVMIR/LLVMTypeTestDialect.cpp
The file was modifiedmlir/test/Target/llvmir-types.mlir
The file was modifiedmlir/tools/mlir-opt/CMakeLists.txt
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
Commit 00b89f66f988e9ec6f366ed46a51ace39fac07c8 by riccibrun
[clang][NFC] Remove spurious +x flag on DeclTemplate.cpp and DeclTemplate.h
The file was modifiedclang/include/clang/AST/DeclTemplate.h
The file was modifiedclang/lib/AST/DeclTemplate.cpp
Commit 98b4b4570542a255e9a81e4a349183402a2d478d by riccibrun
[clang][NFC] Add a test showcasing an unnamed template parameter in a diagnostic
The file was modifiedclang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
Commit bc29634b93acf2e55c82dd906f0d9af196c66ff3 by riccibrun
[clang][NFC] Remove an old workaround for MSVC 2013
The file was modifiedclang/include/clang/AST/DeclTemplate.h
Commit 6f2fa9d312fcea2448706a8e410c7bc1b6436ea7 by riccibrun
[clang][NFC] Document NamedDecl::printName
The file was modifiedclang/include/clang/AST/Decl.h
Commit 19701458d4691ee7ec59e5aa7217a479b0fb10e7 by riccibrun
[clang][nearly-NFC] Remove some superfluous uses of NamedDecl::getNameAsString

`OS << ND->getDeclName();` is equivalent to `OS << ND->getNameAsString();`
without the extra temporary string.

This is not quite a NFC since two uses of `getNameAsString` in a
diagnostic are replaced, which results in the named entity being
quoted with additional "'"s (ie: 'var' instead of var).
The file was modifiedclang-tools-extra/clang-move/Move.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngine.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/lib/Sema/AnalysisBasedWarnings.cpp
The file was modifiedclang/lib/Tooling/Refactoring/ASTSelection.cpp
The file was modifiedclang/lib/AST/TextNodeDumper.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
The file was modifiedclang/lib/Frontend/FrontendAction.cpp
The file was modifiedclang/lib/Index/FileIndexRecord.cpp
The file was modifiedclang/lib/AST/ASTDiagnostic.cpp
The file was modifiedclang/lib/AST/Interp/Disasm.cpp
The file was modifiedclang-tools-extra/clang-include-fixer/find-all-symbols/FindAllSymbols.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/FuchsiaHandleChecker.cpp
The file was modifiedclang/test/Index/error-on-deserialized.c
The file was modifiedclang-tools-extra/clang-move/HelperDeclRefGraph.cpp
The file was modifiedclang/test/SemaCXX/warn-msvc-enum-bitfield.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
Commit 94b43118e2203fed8ca0377ae762c08189aa6f3d by riccibrun
[clang][NFCI] Get rid of ConstantMatrixTypeBitfields to avoid increasing the size of every type.

sizeof(ConstantMatrixTypeBitfields) > 8 which increases the size of every type.
This was not detected because no corresponding static_assert for its size was
added.

To prevent this from occuring again replace the various static_asserts for
the size of each of the bit-field classes by a single static_assert for the
size of Type.

I have left ConstantMatrixType::MaxElementsPerDimension unchanged since
the limit is exercised by multiple tests.
The file was modifiedclang/lib/AST/Type.cpp
The file was modifiedclang/include/clang/AST/Type.h
Commit f7a039de7af7b83105f3e0345d65dceda1a0e0d4 by riccibrun
[clang][NFC] DeclPrinter: use NamedDecl::getDeclName instead of NamedDecl::printName to print the name of enumerations, namespaces and template parameters.

NamedDecl::printName will print the pretty-printed name of the entity, which
is not what we want here (we should print "enum { e };" instead of "enum
(unnamed enum at input.cc:1:5) { e };").

For now only DecompositionDecl and MDGuidDecl have an overloaded printName so
this does not result in any functional change, but this change is needed since
I will be adding overloads to better handle unnamed entities in diagnostics.
The file was modifiedclang/lib/AST/DeclPrinter.cpp
The file was modifiedclang/unittests/AST/DeclPrinterTest.cpp
Commit cc2612185833a0e4b7a19bfbde801ced9297b0f7 by thakis
[gn build] (manually) merge 3ab01550b

This reverts commit 0bbaacc8cae0373d4500c4e3f6f128d21f9033b7 and
2ad56119f5dc6c6af2b8ddfd9fc8c6460a7507c8 which merged 10b1b4a23
(and follow-ups), since that change was reverted in 3ab01550b.
The file was modifiedllvm/utils/gn/secondary/lld/test/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/test/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/clang/test/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
Commit f5df5cd5586ae9cfb2d9e53704dfc76f47aff149 by lebedev.ri
Recommit "[InstCombine] Negator: -(X << C)  -->  X * (-1 << C)"

This reverts commit ac70b37a00dc02bd8923e0a4602d26be4581c570
which reverted commit 8aeb2fe13a4100b4c2e78d6ef75119304100cb1f
because codegen tests got broken and i needed time to investigate.

This shows some regressions in tests, but they are all around GEP's,
so i'm not really sure how important those are.

https://rise4fun.com/Alive/1Gn
The file was modifiedllvm/test/CodeGen/AMDGPU/reqd-work-group-size.ll
The file was modifiedllvm/test/Transforms/InstCombine/sub-of-negatible.ll
The file was modifiedllvm/test/Transforms/InstCombine/icmp.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
The file was modifiedllvm/test/Transforms/InstCombine/sub.ll
The file was modifiedllvm/test/Transforms/InstCombine/sub-gep.ll
Commit 75f239e9756b157f209412268c5a50a69b1a4e74 by zinenko
[mlir] Initial version of C APIs

    Introduce an initial version of C API for MLIR core IR components: Value, Type,
    Attribute, Operation, Region, Block, Location. These APIs allow for both
    inspection and creation of the IR in the generic form and intended for wrapping
    in high-level library- and language-specific constructs. At this point, there
    is no stability guarantee provided for the API.

Reviewed By: stellaraccident, lattner

Differential Revision: https://reviews.llvm.org/D83310
The file was modifiedmlir/test/lit.cfg.py
The file was addedmlir/test/CAPI/ir.c
The file was modifiedmlir/CMakeLists.txt
The file was addedmlir/lib/CAPI/Registration/CMakeLists.txt
The file was addedmlir/include/mlir-c/Registration.h
The file was addedmlir/lib/CAPI/IR/CMakeLists.txt
The file was addedmlir/docs/CAPI.md
The file was addedmlir/lib/CAPI/IR/IR.cpp
The file was addedmlir/lib/CAPI/CMakeLists.txt
The file was modifiedmlir/test/CMakeLists.txt
The file was addedmlir/lib/CAPI/Registration/Registration.cpp
The file was addedmlir/test/CAPI/lit.local.cfg
The file was addedmlir/test/CAPI/CMakeLists.txt
The file was addedmlir/include/mlir-c/IR.h
Commit 4dcbb9cef71afa549afe8f6b4d335b1c996f8079 by riccibrun
[clang] Add -fno-delayed-template-parsing to the added unit tests in DeclPrinterTest.cpp
The file was modifiedclang/unittests/AST/DeclPrinterTest.cpp
Commit d21ce408218150e23b5cc4af45c088c0926d7e18 by dantrushin
[Statepoints] Operand folding in presense of tied registers.

Implement proper folding of statepoint meta operands (deopt and GC)
when statepoint uses tied registers.
For deopt operands it is just about properly preserving tiedness
in new instruction.
For tied GC operands folding is a little bit more tricky.
We can fold tied GC operands only from InlineSpiller, because it knows
how to properly reload tied def after it was turned into memory operand.
Other users (e.g. peephole) cannot properly fold such operands as they
do not know how (or when) to reload them from memory.
We do this by un-tieing operand we want to fold in InlineSpiller
and allowing to fold only untied operands in foldPatchpoint.
The file was modifiedllvm/lib/CodeGen/InlineSpiller.cpp
The file was modifiedllvm/lib/CodeGen/TargetInstrInfo.cpp
The file was addedllvm/test/CodeGen/X86/statepoint-vreg-folding.mir
Commit 002d61db2b7790dc884953bf9271878bf0af3a8e by jdenny.ornl
[OpenMP] Fix `present` for exit from `omp target data`

Without this patch, the following example fails but shouldn't
according to OpenMP TR8:

```
#pragma omp target enter data map(alloc:i)
#pragma omp target data map(present, alloc: i)
{
   #pragma omp target exit data map(delete:i)
} // fails presence check here
```

OpenMP TR8 sec. 2.22.7.1 "map Clause", p. 321, L23-26 states:

> If the map clause appears on a target, target data, target enter
> data or target exit data construct with a present map-type-modifier
> then on entry to the region if the corresponding list item does not
> appear in the device data environment an error occurs and the
> program terminates.

There is no corresponding statement about the exit from a region.
Thus, the `present` modifier should:

1. Check for presence upon entry into any region, including a `target
   exit data` region.  This behavior is already implemented correctly.

2. Should not check for presence upon exit from any region, including
   a `target` or `target data` region.  Without this patch, this
   behavior is not implemented correctly, breaking the above example.

In the case of `target data`, this patch fixes the latter behavior by
removing the `present` modifier from the map types Clang generates for
the runtime call at the end of the region.

In the case of `target`, we have not found a valid OpenMP program for
which such a fix would matter.  It appears that, if a program can
guarantee that data is present at the beginning of a `target` region
so that there's no error there, that data is also guaranteed to be
present at the end.  This patch adds a comment to the runtime to
document this case.

Reviewed By: grokos, RaviNarayanaswamy, ABataev

Differential Revision: https://reviews.llvm.org/D84422
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedopenmp/libomptarget/src/omptarget.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was addedopenmp/libomptarget/test/mapping/present/target_data_at_exit.c
The file was modifiedclang/test/OpenMP/target_data_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.h
Commit 26cf9c17044515cdde3e7baeea843001ba33be59 by jdenny.ornl
[OpenMP][Docs] Add map clause reordering status as unclaimed
The file was modifiedclang/docs/OpenMPSupport.rst
Commit 03bb545b68c2edb9dc5bd092104bdb83a8e5e347 by jdenny.ornl
[OpenMP][Docs] Mark `present` map type modifier as done
The file was modifiedclang/docs/OpenMPSupport.rst
Commit 5ab43989c353a2378910d20c7b88e44ea92b3aee by jdenny.ornl
[OpenMP] Fix `omp target update` for array extension

OpenMP TR8 sec. 2.15.6 "target update Construct", p. 183, L3-4 states:

> If the corresponding list item is not present in the device data
> environment and there is no present modifier in the clause, then no
> assignment occurs to or from the original list item.

L10-11 states:

> If a present modifier appears in the clause and the corresponding
> list item is not present in the device data environment then an
> error occurs and the program termintates.

(OpenMP 5.0 also has the first passage but without mention of the
present modifier of course.)

In both passages, I assume "is not present" includes the case of
partially but not entirely present.  However, without this patch, the
target update directive misbehaves in this case both with and without
the present modifier.  For example:

```
#pragma omp target enter data map(to:arr[0:3])
#pragma omp target update to(arr[0:5]) // might fail on data transfer
#pragma omp target update to(present:arr[0:5]) // might fail on data transfer
```

The problem is that `DeviceTy::getTgtPtrBegin` does not return a null
pointer in that case, so `target_data_update` sees the data as fully
present, and the data transfer then might fail depending on the target
device.  However, without the present modifier, there should never be
a failure.  Moreover, with the present modifier, there should always
be a failure, and the diagnostic should mention the present modifier.

This patch fixes `DeviceTy::getTgtPtrBegin` to return null when
`target_data_update` is the caller.  I'm wondering if it should do the
same for more callers.

Reviewed By: grokos, jdoerfert

Differential Revision: https://reviews.llvm.org/D85246
The file was modifiedopenmp/libomptarget/src/omptarget.cpp
The file was modifiedopenmp/libomptarget/src/device.cpp
The file was addedopenmp/libomptarget/test/mapping/present/target_update_array_extension.c
The file was addedopenmp/libomptarget/test/mapping/target_update_array_extension.c
The file was modifiedopenmp/libomptarget/src/device.h
Commit 6ae5b9e40587f5586e2970ca717797b68c34758d by grimar
[llvm-readobj] - Make decode_relrs() don't return Expected<>. NFCI.

The `decode_relrs` helper is declared as:

`Expected<std::vector<Elf_Rel>> decode_relrs(Elf_Relr_Range relrs) const;`

it never returns an error though and hence can be simplified to return
a vector.

Differential revision: https://reviews.llvm.org/D85302
The file was modifiedllvm/lib/Object/ELF.cpp
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/include/llvm/Object/ELF.h
Commit a57bfb44bc7918c907500ba9ac4cdd80e445660a by llvm-dev
[X86][AVX] Fold CONCAT(HOP(X,Y),HOP(Z,W)) -> HOP(CONCAT(X,Z),CONCAT(Y,W)) for integer types
The file was modifiedllvm/test/CodeGen/X86/haddsub-2.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 6a06c7a0a7688ce142865e92d879b8bece79de7a by llvm-dev
[X86] isHorizontalBinOp - only update LHS/RHS references on success

We've had issues in the past where isHorizontalBinOp calls would affect later combines as the LHS/RHS references had been commuted but still failed to match.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 1fdab96130fc86f2635d26b617adf10608b8e63b by gyurgyikcp
[libc] Add isspace, isprint, isxdigit implementations.

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D85270
The file was modifiedlibc/spec/stdc.td
The file was addedlibc/test/src/ctype/isprint_test.cpp
The file was addedlibc/src/ctype/isxdigit.h
The file was addedlibc/test/src/ctype/isxdigit_test.cpp
The file was addedlibc/src/ctype/isprint.cpp
The file was modifiedlibc/config/linux/x86_64/entrypoints.txt
The file was addedlibc/src/ctype/isspace.h
The file was addedlibc/test/src/ctype/isspace_test.cpp
The file was addedlibc/src/ctype/isspace.cpp
The file was modifiedlibc/src/ctype/CMakeLists.txt
The file was addedlibc/src/ctype/isxdigit.cpp
The file was addedlibc/src/ctype/isprint.h
The file was modifiedlibc/test/src/ctype/CMakeLists.txt
The file was modifiedlibc/config/linux/aarch64/entrypoints.txt
Commit 049f6ad4f69e6b9c5df290d6f9d86c991ed4ecec by noreply
[libc] [obvious] Add ctype functions to linux api.

Adds isspace, isprint, and isxdigit to Linux API to fix failed integration test.
The file was modifiedlibc/config/linux/api.td
Commit 271d9c507c783b3c13629376f3edf66099937938 by hans
Bump forgotten version nbr in llvm/docs/conf.py
The file was modifiedllvm/docs/conf.py
Commit 011732852c2c1ca1015fac1bed831308dc521583 by kadircet
[clangd] Fix a crash in DefineInline

Differential Revision: https://reviews.llvm.org/D85291
The file was modifiedclang-tools-extra/clangd/refactor/tweaks/DefineInline.cpp
The file was modifiedclang-tools-extra/clangd/unittests/TweakTests.cpp

Summary

  1. Use more efficient "e2" machine types (details)
  2. updated Windows container version (details)
  3. Added automatic cluster config and  deployment (details)
Commit fe0d2ecc195db768ccd9e2f3fab4b618d33097c7 by kuhnel
Use more efficient "e2" machine types

These are ~30% cheaper, but sadly don't support GPUs.

Differential Revision: https://reviews.llvm.org/D85211
The file was modifiedbuildbot/google/terraform/main.tf
Commit 9b433279a0b5802eaa12dd95150b9b06b718af83 by kuhnel
updated Windows container version
The file was modifiedbuildbot/google/terraform/main.tf
Commit 74e099cb9569f67ddb4341839eea408abc67e04e by kuhnel
Added automatic cluster config and  deployment

Based on ideas in https://reviews.llvm.org/D84258
The file was modifiedbuildbot/google/terraform/main.tf