SuccessChanges

Summary

  1. [SVE] Lower fixed length VECREDUCE_[FMAX|FMIN] to Scalable (details)
  2. [flang][msvc] Define implicit conversion from UnsignedInt128 to int64_t. (details)
  3. [flang][msvc] Define access flags under Windows. NFC. (details)
  4. [nfc][libomptarget] Drop parameter to named_sync (details)
  5. Improve the representation of <compare>'s zero-only type. (details)
  6. Recognize setjmp and friends as builtins even if jmp_buf is not declared yet. (details)
  7. [AMDGPU] Remove SIEncodingFamily.GFX10_B (details)
  8. Fix use of wrong printf format specifier for size_t argument. (details)
  9. [CodeExtractor] Don't create bitcasts when inserting lifetime markers (NFCI) (details)
  10. [mlir] Remove more OpBuilder args which are now injected (details)
  11. Fix a variety of minor issues with ObjC method mangling: (details)
Commit 80381c4dc92572f54774041f0ad6786112360738 by mcinally
[SVE] Lower fixed length VECREDUCE_[FMAX|FMIN] to Scalable

Differential Revision: https://reviews.llvm.org/D88444
The file was addedllvm/test/CodeGen/AArch64/sve-fixed-length-fp-reduce.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit b5543063e1bfd6195a2d34d2c892466c0050e08a by llvm-project
[flang][msvc] Define implicit conversion from UnsignedInt128 to int64_t.

The custom implementation of UnsignedInt128 has an implicit conversion operator to unit64_t, but not int64_t. Considering that the former is already truncating, and C++ implicitly converts uint64_t to int64_t, UnsignedInt128  should also support an implicit conversion to int64_t. An analogous conversion would be from uint32_t to int16_t.

Without the conversion operator overload, the msvc emits the following error:
```
descriptor-io.h(44): error C2440: 'static_cast': cannot convert from 'A' to 'int64_t'
        with
        [
            A=Fortran::common::uint128_t
        ]
```

This patch is part of the series to make flang compilable with MS Visual Studio <http://lists.llvm.org/pipermail/flang-dev/2020-July/000448.html>.

Reviewed By: klausler

Differential Revision: https://reviews.llvm.org/D88509
The file was modifiedflang/include/flang/Common/uint128.h
Commit bcd05599d0e53977a963799d6ee4f6e0bc21331b by llvm-project
[flang][msvc] Define access flags under Windows. NFC.

The flags F_OK, R_OK and W_OK are defined in unistd.h, which does not exist under the Windows platform. Windows still defines the `access` function. Its access flags are documented at https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/access-waccess. For compatibility, define the flags F_OK, R_OK and W_OK using these constants.

This patch is part of the series to make flang compilable with MS Visual Studio <http://lists.llvm.org/pipermail/flang-dev/2020-July/000448.html>.

Reviewed By: klausler

Differential Revision: https://reviews.llvm.org/D88508
The file was modifiedflang/runtime/file.cpp
Commit d256797c9035aebf0309489c04dc34f8bae49dc4 by jonchesterfield
[nfc][libomptarget] Drop parameter to named_sync

[nfc][libomptarget] Drop parameter to named_sync

named_sync has one call site (in sync.cu) where it always passed L1_BARRIER.
Folding this into the call site and dropping the macro is a simplification.

amdgpu doesn't have ptx' bar.sync instruction. A correct implementation of
__kmpc_impl_named_sync in terms of shared memory is much easier if it can
assume that the barrier argument is this constant. Said implementation is left
for a second patch.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D88474
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/sync.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h
The file was modifiedopenmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.h
Commit bf434a5f173eed4112a10e28e8a6236d48f9da07 by richard
Improve the representation of <compare>'s zero-only type.

* Use an empty struct instead of a member pointer to represent this
  type, so that we don't actually pass a zero member pointer at runtime.

* Mark the constructor as consteval to ensure that no code is emitted
  for it whenever possible.

* Add a honeypot constructor to reject all non-int arguments, so that
  the only argument that can arrive at the real constructor is the
  literal 0.

This results in better generated code, and rejecting invalid comparisons
against nullptr, 0L, and so on, while also rejecting invalid comparisons
against (1-1) and similar that would be allowed if we required an
integer constant expression with value 0.

Differential Revision: https://reviews.llvm.org/D85051
The file was addedlibcxx/test/std/language.support/cmp/cmp.categories.pre/zero_type.verify.cpp
The file was modifiedlibcxx/include/__config
The file was modifiedlibcxx/include/compare
Commit 1c604a9f5fd65c91f097c856fa6643373fc869e1 by richard
Recognize setjmp and friends as builtins even if jmp_buf is not declared yet.

This happens in glibc's headers. It's important that we recognize these
functions so that we can mark them as returns_twice.

Differential Revision: https://reviews.llvm.org/D88518
The file was modifiedclang/include/clang/Basic/Builtins.h
The file was modifiedclang/test/Sema/builtin-setjmp.c
The file was modifiedclang/test/Sema/implicit-builtin-decl.c
The file was addedclang/test/CodeGen/setjmp.c
The file was modifiedclang/include/clang/Basic/Builtins.def
The file was modifiedclang/lib/Sema/SemaDecl.cpp
Commit 61b3106965d7c4c696d8e4cd272273011bb50bc0 by Stanislav.Mekhanoshin
[AMDGPU] Remove SIEncodingFamily.GFX10_B

It turns to be not needed anymore.

Differential Revision: https://reviews.llvm.org/D88520
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.td
Commit 2f95c50a8b713970c5134dabc246270111a48c6d by richard
Fix use of wrong printf format specifier for size_t argument.

This causes a build break under -Werror=format.
The file was modifiedlldb/bindings/python/python-wrapper.swig
Commit 26ee8aff2b85ee28a2b2d0b1860d878b512fbdef by Vedant Kumar
[CodeExtractor] Don't create bitcasts when inserting lifetime markers (NFCI)

Lifetime marker intrinsics support any pointer type, so CodeExtractor
does not need to bitcast to `i8*` in order to use these markers.
The file was modifiedllvm/test/Transforms/HotColdSplit/lifetime-markers-on-inputs-2.ll
The file was modifiedllvm/lib/Transforms/Utils/CodeExtractor.cpp
The file was modifiedllvm/test/Transforms/HotColdSplit/lifetime-markers-on-inputs-1.ll
The file was modifiedllvm/test/Transforms/HotColdSplit/split-phis-in-exit-blocks.ll
The file was modifiedllvm/test/Transforms/CodeExtractor/PartialInlineInvokeProducesOutVal.ll
Commit 4f0e0d92178d57137e26b1ac1be5f0409791912a by jpienaar
[mlir] Remove more OpBuilder args which are now injected

NFC. Some small changes to make things more consistent but primarily
avoiding old behavior without any further change.
The file was modifiedmlir/include/mlir/Dialect/SCF/SCFOps.td
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.td
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/docs/Tutorials/Toy/Ch-2.md
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUOps.td
Commit 984744a1314ce165378e7945bc45995302a8cb80 by rjmccall
Fix a variety of minor issues with ObjC method mangling:

- Fix a memory leak accidentally introduced yesterday by using CodeGen's
  existing mangling context instead of creating a new context afresh.

- Move GNU-runtime ObjC method mangling into the AST mangler; this will
  eventually be necessary to support direct methods there, but is also
  just the right architecture.

- Make the Apple-runtime method mangling work properly when given an
  interface declaration, fixing a bug (which had solidified into a test)
  where mangling a category method from the interface could cause it to
  be mangled as if the category name was a class name.  (Category names
  are namespaced within their class and have no global meaning.)

- Fix a code cross-reference in dsymutil.

Based on a patch by Ellis Hoag.
The file was modifiedllvm/tools/dsymutil/SymbolMap.cpp
The file was modifiedclang/lib/CodeGen/CGObjCGNU.cpp
The file was modifiedclang/lib/CodeGen/CGObjCRuntime.h
The file was modifiedclang/lib/CodeGen/CGObjCMac.cpp
The file was modifiedclang/lib/AST/Mangle.cpp
The file was modifiedclang/test/AST/ast-dump-decl-json.m
The file was modifiedclang/lib/AST/DeclObjC.cpp
The file was modifiedclang/lib/CodeGen/CGObjCRuntime.cpp
The file was modifiedclang/include/clang/AST/DeclObjC.h