SuccessChanges

Summary

  1. Fix gcc5 build of ASTMatchersTest.h (details)
  2. [NFC][SCEV] Some tests for shifts by bitwidth-2/bitwidth-1 w/ no-wrap flags (details)
  3. [Mlir] Add assembly format for `shape.mul`. (details)
  4. [mlir] Add a shape op that returns a constant witness (details)
  5. [mlir] Folding of shape.assuming_all (details)
  6. [mlir] Add folding for shape.any (details)
  7. [mlir] Canonicalization and folding of shape.cstr_broadcastable (details)
  8. [mlir] Folding and canonicalization of shape.cstr_eq (details)
  9. [mlir] Canonicalization of shape.assuming (details)
  10. [mlir] NFC formatting cleanup. (details)
  11. [CostModel] Unify getMemoryOpCost (details)
  12. [NFC][SCEV] Add test with 'or' with no common bits set (details)
  13. [Mlir] Implement printer, parser, verifier and builder for shape.reduce. (details)
  14. [ARM] Add __bf16 as new Bfloat16 C Type (details)
  15. Fix MSVC "not all control paths return a value" warning. NFC. (details)
  16. MemorySSAUpdater.h - reduce unnecessary includes to forward declarations. NFC. (details)
  17. NFC: Formatting fix in TableGEn/OptParserEmitter.cpp (details)
  18. [VE] Support fixed-point operation instructions in MC layer (details)
  19. [lldb] Fix UBSan regression in GetSLEB128 (details)
  20. [mlir] Make PassManager.h self-contained (details)
Commit 767516c5463a58f64cc3e0e1125b761aedceecf5 by hans
Fix gcc5 build of ASTMatchersTest.h

After a180d54 the build was failing with:

In file included from /work/llvm.monorepo/clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp:9:0:
/work/llvm.monorepo/clang/unittests/ASTMatchers/ASTMatchersTest.h:
In function ‘llvm::ArrayRef<clang::TestLanguage> clang::ast_matchers::langCxx11OrLater()’:
/work/llvm.monorepo/clang/unittests/ASTMatchers/ASTMatchersTest.h:64:10:
error: could not convert ‘(const clang::TestLanguage*)(& Result)’ from
‘const clang::TestLanguage*’ to ‘llvm::ArrayRef<clang::TestLanguage>’
   return Result;
          ^
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTest.h
Commit 39e3c92410d1877e31da2201dc92f559f040bfa9 by lebedev.ri
[NFC][SCEV] Some tests for shifts by bitwidth-2/bitwidth-1 w/ no-wrap flags
The file was modifiedllvm/test/Analysis/ScalarEvolution/flags-from-poison.ll
Commit 5a675f0552b487d0f5d673a02195446c818143cb by pifon
[Mlir] Add assembly format for `shape.mul`.

Differential Revision: https://reviews.llvm.org/D81194
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/test/Dialect/Shape/ops.mlir
Commit 1c3e38d98c916104c675afa30ad2dd4343e9e923 by tpopp
[mlir] Add a shape op that returns a constant witness

This will later be used during canonicalization and folding steps to replace
statically known passing constraints.

Differential Revision: https://reviews.llvm.org/D80307
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
The file was modifiedmlir/test/Dialect/Shape/ops.mlir
Commit 6b3a5bff93cd9779f1e82a2d6896f35cbd1a44bc by tpopp
[mlir] Folding of shape.assuming_all

This allows assuming_all to be replaced when all inputs are known to be
statically passing witnesses.

Differential Revision: https://reviews.llvm.org/D80306
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
Commit 4a255bbd29698d9d5fbf05fd21ab78ca540365f2 by tpopp
[mlir] Add folding for shape.any

If any input to shape.any is a const_shape, shape.any can be replaced
with that input.

Differential Revision: https://reviews.llvm.org/D80305
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
Commit 6aab70945915ef1d565f1146734416029549a5a9 by tpopp
[mlir] Canonicalization and folding of shape.cstr_broadcastable

This allows replacing of this op with a true witness in the case of both
inputs being const_shapes and being found to be broadcastable.

Differential Revision: https://reviews.llvm.org/D80304
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Shape/CMakeLists.txt
The file was addedmlir/lib/Dialect/Shape/IR/ShapeCanonicalization.td
Commit 0a554e607ff6247b79d1c4f184999750e5ad53b9 by tpopp
[mlir] Folding and canonicalization of shape.cstr_eq

In the case of all inputs being constant and equal, cstr_eq will be
replaced with a true_witness.

Differential Revision: https://reviews.llvm.org/D80303
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Shape/IR/ShapeCanonicalization.td
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
Commit 655e08ceeb7bf908cc5460279acbe2882bd47c91 by tpopp
[mlir] Canonicalization of shape.assuming

Summary:
This will inline the region to a shape.assuming in the case that the
input witness is found to be statically true.

Differential Revision: https://reviews.llvm.org/D80302
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
Commit 4ffe6bd8a7b0775626bd250f6b67c2254d6d6e74 by tpopp
[mlir] NFC formatting cleanup.
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
Commit 9303546b423f38d5693565623edcfb832ad8acd5 by sam.parker
[CostModel] Unify getMemoryOpCost

Use getMemoryOpCost from the generic implementation of getUserCost
and have getInstructionThroughput return the result of that for loads
and stores.

This also means that the X86 implementation of getUserCost can be
removed with the functionality folded into its getMemoryOpCost.

Differential Revision: https://reviews.llvm.org/D80984
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
Commit 39e3683534c83573da5c8b70c8adfb43948f601f by lebedev.ri
[NFC][SCEV] Add test with 'or' with no common bits set
The file was addedllvm/test/Analysis/ScalarEvolution/add-like-or.ll
Commit 04fb2b6123ee66e09b1956ff68b5436fe43cd3b4 by pifon
[Mlir] Implement printer, parser, verifier and builder for shape.reduce.

Differential Revision: https://reviews.llvm.org/D81186
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
The file was addedmlir/test/Dialect/Shape/invalid.mlir
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/test/Dialect/Shape/ops.mlir
Commit ecd682bbf5e69e8690b7e3634258f05ae0a70448 by ties.stuij
[ARM] Add __bf16 as new Bfloat16 C Type

Summary:
This patch upstreams support for a new storage only bfloat16 C type.
This type is used to implement primitive support for bfloat16 data, in
line with 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

In detail this patch:
- introduces an opaque, storage-only C-type __bf16, which introduces a new bfloat IR type.

This is part of a patch series, starting with command-line and Bfloat16
assembly support. The subsequent patches will upstream intrinsics
support for BFloat16, followed by Matrix Multiplication and the
remaining Virtualization features of the armv8.6-a architecture.

The following people contributed to this patch:
- Luke Cheeseman
- Momchil Velikov
- Alexandros Lamprineas
- Luke Geeson
- Simon Tatham
- Ties Stuij

Reviewers: SjoerdMeijer, rjmccall, rsmith, liutianle, RKSimon, craig.topper, jfb, LukeGeeson, fpetrogalli

Reviewed By: SjoerdMeijer

Subscribers: labrinea, majnemer, asmith, dexonsmith, kristof.beyls, arphaman, danielkiss, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D76077
The file was modifiedclang/include/clang/Basic/Specifiers.h
The file was addedclang/test/Sema/arm-bf16-forbidden-ops.c
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/include/clang/Serialization/ASTBitCodes.h
The file was modifiedclang/lib/CodeGen/ItaniumCXXABI.cpp
The file was modifiedclang/lib/Sema/SemaTemplateVariadic.cpp
The file was modifiedclang/lib/AST/NSAPI.cpp
The file was modifiedclang/lib/Parse/ParseExpr.cpp
The file was modifiedclang/lib/AST/PrintfFormatString.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/lib/AST/MicrosoftMangle.cpp
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedclang/lib/CodeGen/ABIInfo.h
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/AST/TypeLoc.cpp
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/lib/Basic/Targets/AArch64.h
The file was modifiedclang/include/clang/Basic/TokenKinds.def
The file was modifiedclang/lib/Basic/Targets/AArch64.cpp
The file was addedclang/test/Sema/arm-bfloat.cpp
The file was modifiedclang/lib/Parse/ParseExprCXX.cpp
The file was modifiedclang/lib/Format/FormatToken.cpp
The file was addedclang/test/CodeGen/arm-mangle-bf16.cpp
The file was modifiedclang/include/clang/AST/Type.h
The file was addedclang/test/CodeGen/arm-bf16-softfloat.c
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/include/clang-c/Index.h
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/lib/CodeGen/CodeGenTypeCache.h
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was addedclang/test/CodeGen/arm-bf16-params-returns.c
The file was modifiedclang/lib/Basic/TargetInfo.cpp
The file was modifiedclang/lib/Basic/Targets/ARM.cpp
The file was modifiedclang/lib/AST/Type.cpp
The file was modifiedclang/include/clang/AST/BuiltinTypes.def
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/lib/Parse/ParseTentative.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/lib/Index/USRGeneration.cpp
The file was modifiedclang/lib/Basic/Targets/ARM.h
The file was modifiedclang/lib/Sema/DeclSpec.cpp
The file was addedclang/test/Sema/arm-bf16-forbidden-ops.cpp
The file was modifiedclang/include/clang/Basic/TargetInfo.h
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/include/clang/Sema/DeclSpec.h
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/tools/libclang/CXType.cpp
The file was modifiedclang/lib/Serialization/ASTCommon.cpp
The file was modifiedclang/docs/LanguageExtensions.rst
The file was modifiedclang/lib/CodeGen/CodeGenTypes.cpp
The file was modifiedclang/lib/Sema/SemaCast.cpp
The file was modifiedclang/include/clang/Basic/TargetBuiltins.h
Commit a30b5c5a51f95dc81fdfbeea42cc01b451cd5a08 by llvm-dev
Fix MSVC "not all control paths return a value" warning. NFC.

Add llvm_unreachable after switch statement for TestLanguage enum
The file was modifiedclang/lib/Testing/CommandLineArgs.cpp
Commit 44d86982d24928879622561e4137c500f2eecdb7 by llvm-dev
MemorySSAUpdater.h - reduce unnecessary includes to forward declarations. NFC.

Remove unnecessary MemoryAccess forward declaration as its already included from MemorySSA.h

Move implicit include dependencies down to source files.
The file was modifiedllvm/lib/Analysis/MemorySSAUpdater.cpp
The file was modifiedllvm/include/llvm/Analysis/MemorySSAUpdater.h
The file was modifiedllvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
Commit ff0eec4c9ee089651ccd804e82c2bdd3703a48e9 by dany.grumberg
NFC: Formatting fix in TableGEn/OptParserEmitter.cpp
The file was modifiedllvm/utils/TableGen/OptParserEmitter.cpp
Commit 58b810b579a8fbe58bac24f7d573f8511c22854c by simon.moll
[VE] Support fixed-point operation instructions in MC layer

Summary:
Add regression tests of asmparser, mccodeemitter, and disassembler for
fixed-point operation instructions.  In order to support them, we add
MImm parser to asmparser.  Also add a new MPD instruction which is one
of multiply instructions.

Differential Revision: https://reviews.llvm.org/D81207
The file was addedllvm/test/MC/VE/DIV.s
The file was modifiedllvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
The file was addedllvm/test/MC/VE/CMP.s
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.td
The file was addedllvm/test/MC/VE/ADD.s
The file was addedllvm/test/MC/VE/MUL.s
The file was addedllvm/test/MC/VE/SUB.s
The file was addedllvm/test/MC/VE/MAXMIN.s
Commit 846909e2ab0bd279ae2a8ec86074521f59c49eb3 by jan.kratochvil
[lldb] Fix UBSan regression in GetSLEB128

It regressed recently by my: https://reviews.llvm.org/D81119
The file was modifiedlldb/source/Utility/DataExtractor.cpp
Commit 6d15451b175293cc98ef1d0fd9869ac71904e3bd by kadircet
[mlir] Make PassManager.h self-contained

Forward declaring llvm::errs is not enough, as it is used as a default
parameter with a type that references the base class. So the class
hierarchy must be visible.
The file was modifiedmlir/include/mlir/Pass/PassManager.h