SuccessChanges

Summary

  1. [MLIR][SPIRV] Support flat, location, and noperspective decorations (details)
  2. [clang][BFloat] add NEON emitter for bfloat (details)
  3. [libc++] Link against libatomic when it is found (details)
  4. Fix a typo in AMDGPU docs (details)
  5. [Alignment][NFC] Migrate CallingConv tablegen code (details)
  6. [clang][BFloat] Add create/set/get/dup intrinsics (details)
  7. ScopedNoAliasAA.h - remove unnecessary InstrTypes.h include. NFC. (details)
  8. TargetLibraryInfo.h - reduce Triple.h include to forward declaration. NFC. (details)
  9. SyncDependenceAnalysis.h - remove orphan method declarations. NFCI. (details)
  10. [VE] Support branch instructions in MC layer (details)
  11. Fix return status of AddressSanitizer pass (details)
  12. Correctly report modified status for LoopSimplify (details)
  13. Return "[InstCombine] Simplify compare of Phi with constant inputs against a constant" (details)
  14. [libc++] Translate locale detection to the DSL (details)
  15. [llvm][AArch64] Fix unused variable (details)
  16. Correctly report modified status for ObjCARCOpt (details)
  17. Correctly report modified status for ObjCARCContract (details)
  18. Correctly report modified status for TailRecursionElimination (details)
  19. Correctly report modified status for DSE (details)
  20. Correctly report modified status for DivRemPairs (details)
  21. [SCCP] Report changes after removing stores to constant global (details)
Commit cc2349e3cf0e1f492433941b359a03fc3f746410 by antiagainst
[MLIR][SPIRV] Support flat, location, and noperspective decorations

Add support for flat, location, and noperspective decorations in the
serializer and deserializer to be able to process basic shader files
for graphics applications.

Differential Revision: https://reviews.llvm.org/D80837
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Deserializer.cpp
The file was addedmlir/test/Dialect/SPIRV/Serialization/decorations.mlir
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp
Commit a6fcf5ca033a83b815f760664e0cff91c2c13dcd by ties.stuij
[clang][BFloat] add NEON emitter for bfloat

Summary:
This patch adds the bfloat16_t struct typedefs (e.g. bfloat16x8x2_t) to
arm_neon.h

This patch is part of a series implementing the Bfloat16 extension of the
Armv8.6-a architecture, as detailed here:

https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/arm-architecture-developments-armv8-6-a

The bfloat type, and its properties are specified in the Arm Architecture
Reference Manual:

https://developer.arm.com/docs/ddi0487/latest/arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile

The following people contributed to this patch:
- Luke Cheeseman
- Simon Tatham
- Ties Stuij

Reviewers: t.p.northover, fpetrogalli, sdesmalen, az, LukeGeeson

Reviewed By: fpetrogalli

Subscribers: SjoerdMeijer, LukeGeeson, pbarrio, mgorny, kristof.beyls, ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D79708
The file was modifiedclang/utils/TableGen/TableGenBackends.h
The file was addedclang/include/clang/Basic/arm_bf16.td
The file was modifiedclang/test/Preprocessor/aarch64-target-features.c
The file was modifiedclang/utils/TableGen/NeonEmitter.cpp
The file was modifiedclang/include/clang/Basic/arm_neon_incl.td
The file was modifiedclang/test/Preprocessor/arm-target-features.c
The file was modifiedclang/test/CodeGen/arm-bf16-params-returns.c
The file was modifiedclang/lib/Basic/Targets/AArch64.cpp
The file was modifiedclang/lib/Basic/Targets/ARM.cpp
The file was modifiedclang/lib/Headers/CMakeLists.txt
The file was modifiedclang/utils/TableGen/TableGen.cpp
Commit e0184357fc781e939f4e4368fc8aff692ce227ed by Louis Dionne
[libc++] Link against libatomic when it is found

Before this patch, we tried detecting whether small atomics were available
without linking against libatomic. However, that's not really what we want
to know -- instead, we want to know what's required in order to support
atomics fully, which is to link against libatomic when it's provided.

That is both much simpler, and it doesn't suffer the problem that we would
not link against libatomic when small atomics didn't require it, which
lead to non-lockfree atomics never working.

Furthermore, because we understand that some platforms might not want to
(or be able to) ship non-lockfree atomics, we add that notion to the test
suite, independently of a potential extern library.

After this patch, we therefore:
(1) Link against libatomic when it is provided
(2) Independently detect whether non-lockfree atomics are supported in
    the test suite, regardless of whether that means we're linking against
    an external library or not (which is an implementation detail).

Differential Revision: https://reviews.llvm.org/D81190
The file was modifiedlibcxx/cmake/config-ix.cmake
The file was removedlibcxx/test/libcxx/atomics/atomics.align/align.pass.sh.cpp
The file was modifiedlibcxx/test/lit.site.cfg.in
The file was modifiedlibcxx/utils/libcxx/test/config.py
The file was modifiedlibcxx/utils/libcxx/test/features.py
The file was modifiedlibcxx/utils/libcxx/test/dsl.py
The file was removedlibcxx/cmake/Modules/CheckLibcxxAtomic.cmake
The file was addedlibcxx/test/libcxx/atomics/atomics.align/align.pass.pass.cpp
The file was modifiedlibcxx/test/libcxx/selftest/dsl/dsl.sh.py
The file was modifiedlibcxx/utils/libcxx/test/target_info.py
The file was modifiedlibcxx/CMakeLists.txt
Commit bca413b036bfce553a2d245e6783fc59a9994105 by Madhur.Amilkanthwar
Fix a typo in AMDGPU docs

Reviewers: t-tye, arsenm

Reviewed By: arsenm

Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, kerbowa, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D81247
The file was modifiedllvm/docs/AMDGPUUsage.rst
Commit 80845db6a55c0c61e703ef7171511d03208f3d57 by gchatelet
[Alignment][NFC] Migrate CallingConv tablegen code

Summary:
We first migrate the generated code, more patches to come.

This patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D81196
The file was modifiedllvm/include/llvm/CodeGen/CallingConvLower.h
The file was modifiedllvm/utils/TableGen/CallingConvEmitter.cpp
Commit 8b137a430636c6626fcc6ef93b05eb69d6183e57 by ties.stuij
[clang][BFloat] Add create/set/get/dup intrinsics

Summary:
This patch is part of a series that adds support for the Bfloat16 extension of
the Armv8.6-a architecture, as detailed here:

https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/arm-architecture-developments-armv8-6-a

The bfloat type and its properties are specified in the Arm Architecture
Reference Manual:

https://developer.arm.com/docs/ddi0487/latest/arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile

The following people contributed to this patch:
- Luke Cheeseman
- Momchil Velikov
- Luke Geeson
- Ties Stuij
- Mikhail Maltsev

Reviewers: t.p.northover, sdesmalen, fpetrogalli, LukeGeeson, stuij, labrinea

Reviewed By: labrinea

Subscribers: miyuki, dmgreen, labrinea, kristof.beyls, ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D79710
The file was addedclang/test/CodeGen/aarch64-bf16-getset-intrinsics.c
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/include/clang/Basic/arm_neon.td
The file was addedclang/test/CodeGen/arm-bf16-getset-intrinsics.c
Commit 607e2a1fa90181e89e5667f07dcc190d1b816f79 by llvm-dev
ScopedNoAliasAA.h - remove unnecessary InstrTypes.h include. NFC.
The file was modifiedllvm/include/llvm/Analysis/ScopedNoAliasAA.h
Commit 06fd973c859cb845293e86bb44d18c438be8efe5 by llvm-dev
TargetLibraryInfo.h - reduce Triple.h include to forward declaration. NFC.

Move implicit include dependencies down to source files.
The file was modifiedllvm/unittests/Analysis/LazyCallGraphTest.cpp
The file was modifiedllvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetLibraryInfo.h
The file was modifiedllvm/unittests/Analysis/AliasSetTrackerTest.cpp
The file was modifiedllvm/unittests/Analysis/GlobalsModRefTest.cpp
Commit 39ff53984db796ad0ca19a88aea5eadde14fbe42 by llvm-dev
SyncDependenceAnalysis.h - remove orphan method declarations. NFCI.

These have been there since the header was added by D51491 but afaict without an implementation, all functionality is actually in DivergenceAnalysis
The file was modifiedllvm/include/llvm/Analysis/SyncDependenceAnalysis.h
Commit 117c0d7c1c12e5c82e0f5498fec511e8ae08d9ca by simon.moll
[VE] Support branch instructions in MC layer

Summary:
Add regression tests of asmparser, mccodeemitter, and disassembler for
branch instructions.  In order to support them, we enhance asmparser
by adding splitting mnemonic mechanism, e.g. "bgt.l.t" into "b", "gt",
and ".l.t", and parsing mechanism for AS style memory addressing.
We also implment encoding and decoding mechanism for branch instructions.

Differential Revision: https://reviews.llvm.org/D81215
The file was modifiedllvm/lib/Target/VE/Disassembler/VEDisassembler.cpp
The file was modifiedllvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
The file was modifiedllvm/lib/Target/VE/MCTargetDesc/VEMCCodeEmitter.cpp
The file was modifiedllvm/lib/Target/VE/VE.h
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.cpp
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.td
The file was addedllvm/test/MC/VE/BC.s
The file was addedllvm/test/MC/VE/BCR.s
The file was addedllvm/test/MC/VE/BSIC.s
Commit 2fc085e0e5f6d78630e7d3648b389f1cd62b6e36 by sguelton
Fix return status of AddressSanitizer pass

Differential Revision: https://reviews.llvm.org/D81240
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Commit 2e5940cf291517b3f7b31441f13812afa02a7f9b by sguelton
Correctly report modified status for LoopSimplify

Differential Revision: https://reviews.llvm.org/D81235
The file was modifiedllvm/lib/Transforms/Utils/LoopSimplify.cpp
Commit 23291b9863c8af7ad348c4a7d85d8d784df88eb1 by mkazantsev
Return "[InstCombine] Simplify compare of Phi with constant inputs against a constant"

This reverts commit c4b5a66e44f031eb89c9d6ea32b144f1169bdbae.

Returning along with Clang test fix
The file was modifiedllvm/test/Transforms/InstCombine/zext-or-icmp.ll
The file was modifiedllvm/test/Transforms/InstCombine/icmp-constant-phi.ll
The file was modifiedclang/test/CodeGenObjC/exceptions.m
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
The file was modifiedllvm/test/Transforms/InstCombine/indexed-gep-compares.ll
Commit 3864ee7722f7c3ae93801bc0ad4d4a3303ded0f5 by Louis Dionne
[libc++] Translate locale detection to the DSL
The file was modifiedlibcxx/utils/libcxx/test/config.py
The file was modifiedlibcxx/utils/libcxx/test/target_info.py
The file was modifiedlibcxx/utils/libcxx/test/features.py
Commit 6bad8b07e6c400cacc060d308fa5fad7c938d691 by kadircet
[llvm][AArch64] Fix unused variable
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit 80f1ec7008ff2d3e2b996755c3b928bc99d0f4ff by sguelton
Correctly report modified status for ObjCARCOpt

Differential Revision: https://reviews.llvm.org/D81234
The file was modifiedllvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
Commit 1086d777bec39e77c0d91ae8124e8c414531c886 by sguelton
Correctly report modified status for ObjCARCContract

Differential Revision: https://reviews.llvm.org/D81226
The file was modifiedllvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
Commit f987cceb134200d575beda611fe190535155c7a2 by sguelton
Correctly report modified status for TailRecursionElimination

Differential Revision: https://reviews.llvm.org/D81232
The file was modifiedllvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
Commit 424510095d4d4fabcb1aa6526a0e78b98516e175 by sguelton
Correctly report modified status for DSE

Differential Revision: https://reviews.llvm.org/D81233
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Commit 8405f6bcd48840de9ac8e519ddd3b4f0b616008d by sguelton
Correctly report modified status for DivRemPairs

Differential Revision: https://reviews.llvm.org/D81231
The file was modifiedllvm/lib/Transforms/Scalar/DivRemPairs.cpp
Commit 977d27d881fb06c03fd8ef1d62b543b696c508d4 by sguelton
[SCCP] Report changes after removing stores to constant global

Differential Revision: https://reviews.llvm.org/D81228
The file was modifiedllvm/lib/Transforms/Scalar/SCCP.cpp