Changes

Summary

  1. [Driver] Migrate some -f/-fno options to use OptInFFlag and OptOutFFlag (details)
  2. [nfc] [lldb] clang-format #include files order (details)
  3. Revert "PR46209: properly determine whether a copy assignment operator is" (details)
  4. Revert "Set the captures on a CXXRecordDecl representing a lambda closure type" (details)
  5. [MLIR] Update linalg.conv lowering to use affine load in the absence of padding (details)
  6. [StackSafety,NFC] Switch tests to aarch64 (details)
  7. [VE] Add AND/OR/XOR regression tests (details)
  8. [clangd] Populate the parse options to CodeCompletion/SignatureHelp. (details)
  9. Fix gcc5 build of ASTMatchersTest.h (details)
  10. [NFC][SCEV] Some tests for shifts by bitwidth-2/bitwidth-1 w/ no-wrap flags (details)
  11. [Mlir] Add assembly format for `shape.mul`. (details)
  12. [mlir] Add a shape op that returns a constant witness (details)
  13. [mlir] Folding of shape.assuming_all (details)
  14. [mlir] Add folding for shape.any (details)
  15. [mlir] Canonicalization and folding of shape.cstr_broadcastable (details)
  16. [mlir] Folding and canonicalization of shape.cstr_eq (details)
  17. [mlir] Canonicalization of shape.assuming (details)
  18. [mlir] NFC formatting cleanup. (details)
  19. [CostModel] Unify getMemoryOpCost (details)
  20. [NFC][SCEV] Add test with 'or' with no common bits set (details)
  21. [Mlir] Implement printer, parser, verifier and builder for shape.reduce. (details)
  22. [ARM] Add __bf16 as new Bfloat16 C Type (details)
Commit 78702dec3bbc9eadf7c0469f2c54e5c105ffea78 by maskray
[Driver] Migrate some -f/-fno options to use OptInFFlag and OptOutFFlag

Also assign OptInFFlag and OptOutFFlag to f_Group.
The file was modifiedclang/include/clang/Driver/Options.td
Commit 7fc6d36d4848abec95101fe3d0532e238e9579e8 by jan.kratochvil
[nfc] [lldb] clang-format #include files order
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
Commit df53f09056b09999f6a91029cae5f1cdc941c21b by Jonas Devlieghere
Revert "PR46209: properly determine whether a copy assignment operator is"

This reverts commit c57f8a3a20540fcf9fbf98c0a73f381ec32fce2a.
The file was modifiedclang/lib/AST/JSONNodeDumper.cpp
The file was modifiedclang/lib/AST/TextNodeDumper.cpp
The file was modifiedclang/test/AST/ast-dump-special-member-functions.cpp
The file was modifiedclang/test/AST/ast-dump-record-definition-data-json.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
The file was modifiedclang/test/AST/ast-dump-records-json.cpp
The file was modifiedclang/test/AST/ast-dump-expr-json.cpp
The file was modifiedclang/test/SemaObjCXX/arc-0x.mm
The file was modifiedclang/include/clang/AST/CXXRecordDeclDefinitionBits.def
The file was modifiedclang/lib/AST/DeclCXX.cpp
The file was modifiedclang/test/SemaCXX/type-traits.cpp
The file was modifiedclang/test/AST/ast-dump-decl.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/test/AST/ast-dump-decl-context-json.cpp
The file was modifiedclang/test/AST/ast-dump-records.cpp
The file was modifiedclang/test/AST/ast-dump-template-decls-json.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/include/clang/AST/DeclCXX.h
Commit 70ad03d93818532ef19f149f8ff89bcd8af80163 by Jonas Devlieghere
Revert "Set the captures on a CXXRecordDecl representing a lambda closure type"

This reverts commit c13dd74e311d2ac70dd3ea663d800307d1aa5b6b.
The file was modifiedclang/lib/AST/DeclCXX.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/lib/Sema/SemaLambda.cpp
The file was modifiedclang/lib/AST/ExprCXX.cpp
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was modifiedclang/include/clang/AST/ExprCXX.h
Commit 0f6999af88a08bd430699e72982caa9daf6fa604 by uday
[MLIR] Update linalg.conv lowering to use affine load in the absence of padding

Update linalg to affine lowering for convop to use affine load for input
whenever there is no padding. It had always been using std.loads because
max in index functions (needed for non-zero padding if not materializing
zeros) couldn't be represented in the non-zero padding cases.

In the future, the non-zero padding case could also be made to use
affine - either by materializing or using affine.execute_region. The
latter approach will not impact the scf/std output obtained after
lowering out affine.

Differential Revision: https://reviews.llvm.org/D81191
The file was modifiedmlir/test/Dialect/Linalg/affine.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
Commit 6dd738e2f0609f7d3313b574a1d471263d2d3ba1 by Vitaly Buka
[StackSafety,NFC] Switch tests to aarch64
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/Inputs/ipa.ll
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa-alias.ll
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/Inputs/ipa-alias.ll
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa.ll
The file was modifiedclang/test/Driver/memtag_lto.c
Commit 2ba4df1c1b27fa1bc8249b807bf32e450f876dad by simon.moll
[VE] Add AND/OR/XOR regression tests

Summary:
Add AND/OR/XOR regression tests and separate bit-op tests from exisiting
tests.

Differential Revision: https://reviews.llvm.org/D81206
The file was addedllvm/test/CodeGen/VE/and.ll
The file was modifiedllvm/test/CodeGen/VE/addition.ll
The file was modifiedllvm/test/CodeGen/VE/subtraction.ll
The file was addedllvm/test/CodeGen/VE/xor.ll
The file was addedllvm/test/CodeGen/VE/or.ll
Commit a7534dc8198f2ff966f55fd9a68d2c444886f2b2 by hokein.wu
[clangd] Populate the parse options to CodeCompletion/SignatureHelp.

Summary: A followup of D79938.

Reviewers: sammccall

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D81066
The file was modifiedclang-tools-extra/clangd/ClangdServer.cpp
The file was modifiedclang-tools-extra/clangd/CodeComplete.h
The file was modifiedclang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
The file was modifiedclang-tools-extra/clangd/CodeComplete.cpp
The file was modifiedclang-tools-extra/clangd/Compiler.h
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/test/Dialect/Shape/ops.mlir
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
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/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
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/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 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 addedmlir/lib/Dialect/Shape/IR/ShapeCanonicalization.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 modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.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/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
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
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/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.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/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
The file was addedmlir/test/Dialect/Shape/invalid.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 addedclang/test/CodeGen/arm-mangle-bf16.cpp
The file was modifiedclang/lib/AST/PrintfFormatString.cpp
The file was modifiedclang/lib/Basic/Targets/AArch64.cpp
The file was modifiedclang/include/clang/AST/BuiltinTypes.def
The file was modifiedclang/lib/Sema/SemaCast.cpp
The file was modifiedclang/lib/CodeGen/ItaniumCXXABI.cpp
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/lib/AST/Type.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/include/clang/Basic/Specifiers.h
The file was modifiedclang/lib/Format/FormatToken.cpp
The file was addedclang/test/Sema/arm-bf16-forbidden-ops.cpp
The file was modifiedclang/lib/Basic/TargetInfo.cpp
The file was modifiedclang/lib/Sema/DeclSpec.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was addedclang/test/Sema/arm-bfloat.cpp
The file was modifiedclang/lib/AST/NSAPI.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/include/clang/Basic/TargetBuiltins.h
The file was modifiedclang/include/clang/Basic/TokenKinds.def
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/lib/AST/MicrosoftMangle.cpp
The file was modifiedclang/lib/Basic/Targets/ARM.cpp
The file was addedclang/test/Sema/arm-bf16-forbidden-ops.c
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/lib/Index/USRGeneration.cpp
The file was modifiedclang/lib/Basic/Targets/ARM.h
The file was modifiedclang/lib/Sema/SemaTemplateVariadic.cpp
The file was addedclang/test/CodeGen/arm-bf16-params-returns.c
The file was modifiedclang/lib/Basic/Targets/AArch64.h
The file was modifiedclang/lib/AST/TypeLoc.cpp
The file was modifiedclang/lib/CodeGen/CodeGenTypeCache.h
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/include/clang/Sema/DeclSpec.h
The file was modifiedclang/lib/Parse/ParseExprCXX.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/lib/CodeGen/ABIInfo.h
The file was modifiedclang/lib/CodeGen/CodeGenTypes.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was addedclang/test/CodeGen/arm-bf16-softfloat.c
The file was modifiedclang/tools/libclang/CXType.cpp
The file was modifiedclang/include/clang/Basic/TargetInfo.h
The file was modifiedclang/include/clang/Serialization/ASTBitCodes.h
The file was modifiedclang/lib/Parse/ParseTentative.cpp
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/lib/Parse/ParseExpr.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedclang/include/clang-c/Index.h
The file was modifiedclang/lib/Serialization/ASTCommon.cpp
The file was modifiedclang/docs/LanguageExtensions.rst