SuccessChanges

Summary

  1. [flang][msvc] Define access flags under Windows. NFC. (details)
  2. [nfc][libomptarget] Drop parameter to named_sync (details)
  3. Improve the representation of <compare>'s zero-only type. (details)
  4. Recognize setjmp and friends as builtins even if jmp_buf is not declared yet. (details)
  5. [AMDGPU] Remove SIEncodingFamily.GFX10_B (details)
  6. Fix use of wrong printf format specifier for size_t argument. (details)
  7. [CodeExtractor] Don't create bitcasts when inserting lifetime markers (NFCI) (details)
  8. [mlir] Remove more OpBuilder args which are now injected (details)
  9. Fix a variety of minor issues with ObjC method mangling: (details)
  10. [DebugInfo] Add types from constructor homing to the retained types list. (details)
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/nvptx/src/target_impl.h
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/sync.cu
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/test/Sema/implicit-builtin-decl.c
The file was modifiedclang/include/clang/Basic/Builtins.def
The file was modifiedclang/include/clang/Basic/Builtins.h
The file was modifiedclang/test/Sema/builtin-setjmp.c
The file was addedclang/test/CodeGen/setjmp.c
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/lib/Transforms/Utils/CodeExtractor.cpp
The file was modifiedllvm/test/Transforms/CodeExtractor/PartialInlineInvokeProducesOutVal.ll
The file was modifiedllvm/test/Transforms/HotColdSplit/lifetime-markers-on-inputs-1.ll
The file was modifiedllvm/test/Transforms/HotColdSplit/lifetime-markers-on-inputs-2.ll
The file was modifiedllvm/test/Transforms/HotColdSplit/split-phis-in-exit-blocks.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/Vector/VectorOps.td
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUOps.td
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.td
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/include/mlir/Dialect/SCF/SCFOps.td
The file was modifiedmlir/docs/Tutorials/Toy/Ch-2.md
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOps.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 modifiedclang/lib/CodeGen/CGObjCRuntime.cpp
The file was modifiedclang/lib/CodeGen/CGObjCRuntime.h
The file was modifiedllvm/tools/dsymutil/SymbolMap.cpp
The file was modifiedclang/lib/AST/Mangle.cpp
The file was modifiedclang/lib/AST/DeclObjC.cpp
The file was modifiedclang/lib/CodeGen/CGObjCGNU.cpp
The file was modifiedclang/test/AST/ast-dump-decl-json.m
The file was modifiedclang/include/clang/AST/DeclObjC.h
The file was modifiedclang/lib/CodeGen/CGObjCMac.cpp
Commit 5c4fc581d5fe8427f03ec90b0d745453398aa3ad by akhuang
[DebugInfo] Add types from constructor homing to the retained types list.

Add class types to the retained types list to make sure they
don't get dropped if the constructor is optimized out later.

Differential Revision: https://reviews.llvm.org/D88522
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/test/CodeGenCXX/debug-info-limited-ctor.cpp