[PATCH] D62960: SVE opaque type for C intrinsics demo

2019-06-06 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm created this revision. Herald added subscribers: cfe-commits, arphaman, tschuett, javed.absar. Herald added a reviewer: martong. Herald added a reviewer: shafik. Herald added a project: clang. A lightly-modified version of Graham Hunter's original patch: https://reviews.llvm.org/D5924

[PATCH] D62962: Clang implementation of sizeless types

2019-06-06 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm created this revision. Herald added subscribers: cfe-commits, jfb, kristof.beyls, javed.absar. Herald added a reviewer: rengolin. Herald added a project: clang. This patch adds the concept of "sizeless" types to C and C++. The documentation part of the patch describes the extension in

[PATCH] D62961: [AST] Add new Type queries for sizeless types

2019-06-06 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm created this revision. Herald added subscribers: cfe-commits, mgorny. Herald added a project: clang. This patch adds new type queries: - isSizelessType - isDefiniteType - isIndefiniteType following the type classification described in the comments. The follow-on patch to support siz

[PATCH] D46307: [PATCH 1/3] [RFC only] Hack to add some sizeless built-in types

2019-06-06 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm abandoned this revision. rsandifo-arm added a comment. Herald added a subscriber: arphaman. Herald added a reviewer: rengolin. Herald added a project: clang. Abandoning in favour of: https://reviews.llvm.org/D62960 https://reviews.llvm.org/D62961 https://reviews.llvm.org/D62962 Rep

[PATCH] D46308: [PATCH 2/3] [RFC only] clang implementation of sizeless types

2019-06-06 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm abandoned this revision. rsandifo-arm added a comment. Herald added a subscriber: jfb. Herald added a reviewer: rengolin. Herald added a project: clang. Abandoning in favour of: https://reviews.llvm.org/D62960 https://reviews.llvm.org/D62961 https://reviews.llvm.org/D62962 Reposito

[PATCH] D62962: Clang implementation of sizeless types

2019-06-07 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm updated this revision to Diff 203546. rsandifo-arm added a comment. Add tests for ext_vector_type Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62962/new/ https://reviews.llvm.org/D62962 Files: docs/SizelessTypes.rst include/clang/AST/Expr.h i

[PATCH] D62962: Clang implementation of sizeless types

2019-06-10 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm marked 4 inline comments as done. rsandifo-arm added a comment. Thanks for the review. In D62962#1534528 , @jfb wrote: > How do these types mangle? At the moment, the mangling is only defined for the Itanium ABI, which uses `str(len(name))

[PATCH] D62962: Clang implementation of sizeless types

2019-06-10 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm marked 2 inline comments as done. rsandifo-arm added inline comments. Comment at: test/Sema/sizeless-1.c:66 + _Static_assert(__atomic_always_lock_free(1, &local_int8) == __atomic_always_lock_free(1, incomplete_ptr), ""); + _Static_assert(__atomic_always_lock_free(

[PATCH] D62960: SVE opaque type for C intrinsics demo

2019-06-19 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm marked an inline comment as done. rsandifo-arm added inline comments. Comment at: lib/AST/ItaniumMangle.cpp:2680 +break; +#include "clang/Basic/AArch64SVEACLETypes.def" } erik.pilkington wrote: > jfb wrote: > > @rjmccall you probably should re

[PATCH] D62960: Add SVE opaque built-in types

2019-07-11 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. Ping, and thanks for the reviews so far. I think I've addressed all the comments to date and I've tried to make the patch ready to commit in its current state (rather than the RFC that it originally was). It would be really useful if we could apply the patch soon,

[PATCH] D62960: Add SVE opaque built-in types

2019-07-30 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm marked 10 inline comments as done. rsandifo-arm added a comment. Thanks. I think the current version of the patch addresses all review comments so far and the last set of comments seemed positive. Does the patch look OK to land? (I was waiting until Clang 9 branched, and then was

[PATCH] D62960: Add SVE opaque built-in types

2019-08-07 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. Ping. @rjmccall: thanks for the positive feedback. Is there a particular reviewer you'd like to hear from before the patch lands? Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62960/new/ https://reviews.llvm.org/D62960

[PATCH] D62960: Add SVE opaque built-in types

2019-08-08 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm updated this revision to Diff 214095. rsandifo-arm edited the summary of this revision. rsandifo-arm added a comment. - Remove pointless "SVE Types" comments - Expand commentary about SVE type layout and future debug info handling - Make macro formatting more consistent with the surro

[PATCH] D62960: Add SVE opaque built-in types

2019-08-08 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm marked 7 inline comments as done. rsandifo-arm added inline comments. Comment at: lib/AST/ASTContext.cpp:1974 + break; +#include "clang/Basic/AArch64SVEACLETypes.def" } rjmccall wrote: > Why do SVE predicates have 16-bit alignment? Should

[PATCH] D62960: Add SVE opaque built-in types

2019-08-09 Thread Richard Sandiford via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL368413: Add SVE opaque built-in types (authored by rsandifo, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.llvm.org/D629

[PATCH] D62960: SVE opaque type for C intrinsics demo

2019-06-27 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm updated this revision to Diff 206891. rsandifo-arm added a comment. - Fix comments in AArch64SVEACLETypes.def - Rename BUILTIN_TYPE to SVE_TYPE and use it where possible - Report errors for TODOs instead of using llvm_unreachable - Add a test for the errors - Formatting fixes Reposi

[PATCH] D62960: SVE opaque type for C intrinsics demo

2019-06-27 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm marked 7 inline comments as done. rsandifo-arm added a comment. Thanks for the reviews! Comment at: include/clang/Basic/AArch64SVEACLETypes.def:10 +// +// This file defines the database about various builtin singleton types. +// rovka wrote: > You

[PATCH] D62961: [AST] Add new Type queries for sizeless types

2019-06-27 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm updated this revision to Diff 206894. rsandifo-arm added a comment. - Update for new version of D62960 Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62961/new/ https://reviews.llvm.org/D62961 Files: include/clang/

[PATCH] D62960: SVE opaque type for C intrinsics demo

2019-07-04 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm updated this revision to Diff 207991. rsandifo-arm added a comment. Changes since last version: - Define the SVE types only for AArch64 targets - Use the vendor extension 'u' mangling, as per the spec - Report an error for @encode on the types - Fixed the licence text on the new file

[PATCH] D62960: Add SVE opaque built-in types

2019-07-04 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. In D62960#1566265 , @rovka wrote: > This looks much better, thanks! Shouldn't there be more tests, e.g. for > mangling and maybe the ASTImporter? Thanks. I've added tests for ASTImporter and mangling in the latest version,

[PATCH] D46307: [PATCH 1/3] [RFC only] Hack to add some sizeless built-in types

2018-05-01 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm created this revision. Herald added subscribers: cfe-commits, rengolin. [ Not intended for commit. I'm just posting it to back up an RFC on cfe-dev. ] This patch is a hack to add two new "sizeless builtin" types __SVInt8_t and __SVInt16_t. The real SVE implementation looks nothi

[PATCH] D46308: [PATCH 2/3] [RFC only] clang implementation of sizeless types

2018-05-01 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm created this revision. Herald added subscribers: cfe-commits, kristof.beyls, rengolin. Herald added a reviewer: javed.absar. `[ Not intended for commit. I'm just posting it to back up an RFC on cfe-dev. ] This patch adds the concept of "sizeless" types to core C and C++. It's a p

[PATCH] D83550: [PATCH 1/4][Sema][AArch64] Add parsing support for arm_sve_vector_bits attribute

2020-07-16 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. Thanks for doing this. FWIW, the patch LGTM from a spec point of view. I just saw one minor spelling nit. Comment at: clang/include/clang/Basic/AttrDocs.td:4882 +to the SVE predicate type ``svbool_t``, this excludes tuple types such as +``svint3

[PATCH] D79236: [docs] Regenerate DiagnosticsReference.rst

2020-05-01 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm created this revision. rsandifo-arm added reviewers: aaron.ballman, efriedma, rjmccall. Herald added subscribers: cfe-commits, s.egerton, jfb, simoncook, aheejin. Herald added a reviewer: jdoerfert. Herald added a project: clang. rsandifo-arm added a child revision: D79244: [Sema] Put

[PATCH] D79244: [Sema] Put existing warning under -Wexcess-initializers

2020-05-01 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm created this revision. rsandifo-arm added reviewers: sdesmalen, efriedma, rovka, rjmccall. Herald added a project: clang. Herald added a subscriber: cfe-commits. rsandifo-arm added a parent revision: D79236: [docs] Regenerate DiagnosticsReference.rst. rsandifo-arm added a child revisi

[PATCH] D76689: [Sema][SVE] Fix handling of initialisers for built-in SVE types

2020-05-01 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm updated this revision to Diff 261483. rsandifo-arm added a comment. Don't refer to the sizeless types as "scalars" Also add more tests. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76689/new/ https://reviews.llvm.org/D76689 Files:

[PATCH] D76689: [Sema][SVE] Fix handling of initialisers for built-in SVE types

2020-05-01 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. In D76689#1939834 , @efriedma wrote: > Semantically, this makes sense. > > I'm not really happy with the use of the term "scalar initializer" to refer > to initializing a vector. Seems likely to confuse users. Yeah, fair p

[PATCH] D77056: [Sema][SVE] Allow non-member operators for SVE types

2020-05-01 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. I'd like to promote this from an RFC to an RFA. The associated cfe-dev discussion was: http://lists.llvm.org/pipermail/cfe-dev/2020-March/065060.html continuing into April here: http://lists.llvm.org/pipermail/cfe-dev/2020-April/065069.html I don't think there w

[PATCH] D81083: [Clang] Allow "vector_size" applied to Booleans

2020-07-31 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a subscriber: lenary. rsandifo-arm added inline comments. Comment at: clang/docs/LanguageExtensions.rst:473 +architectures. The size parameter of a boolean vector type is the number of +bits in the vector (for all non-bool vectors, the number refers to the num

[PATCH] D81083: [Clang] Allow "vector_size" applied to Booleans

2020-08-04 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added inline comments. Comment at: clang/docs/LanguageExtensions.rst:473 +architectures. The size parameter of a boolean vector type is the number of +bits in the vector (for all non-bool vectors, the number refers to the number +of bytes in the vector). ---

[PATCH] D81083: [Clang] Allow "vector_size" applied to Booleans

2020-08-04 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added inline comments. Comment at: clang/docs/LanguageExtensions.rst:473 +architectures. The size parameter of a boolean vector type is the number of +bits in the vector (for all non-bool vectors, the number refers to the number +of bytes in the vector). ---

[PATCH] D81083: [Clang] Allow "vector_size" applied to Booleans

2020-08-04 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added inline comments. Comment at: clang/docs/LanguageExtensions.rst:473 +architectures. The size parameter of a boolean vector type is the number of +bits in the vector (for all non-bool vectors, the number refers to the number +of bytes in the vector). ---

[PATCH] D85736: [Sema][AArch64] Support arm_sve_vector_bits attribute

2020-08-12 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added inline comments. Comment at: clang/include/clang/AST/Type.h:1897 + /// 'arm_sve_vector_bits' type attribute as VectorType. + QualType getFixedLengthSveEltType(const ASTContext &Ctx) const; + It feels to me like the information is more general

[PATCH] D79236: [docs] Regenerate DiagnosticsReference.rst

2020-05-04 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm abandoned this revision. rsandifo-arm added a comment. OK, I'll leave the file as-is in that case. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79236/new/ https://reviews.llvm.org/D79236

[PATCH] D79236: [docs] Regenerate DiagnosticsReference.rst

2020-05-05 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm reclaimed this revision. rsandifo-arm added a comment. OK, thanks! Reclaiming and reopening the revision in that case. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79236/new/ https://reviews.llvm.org/D79236 ___

[PATCH] D79244: [Sema] Put existing warning under -Wexcess-initializers

2020-05-05 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. In D79244#2019027 , @efriedma wrote: > Should we stick ext_excess_initializers_in_char_array_initializer and > ext_initializer_string_for_char_array_too_long in the same warning group? Yeah, agree that would be better. Don

[PATCH] D79244: [Sema] Put existing warning under -Wexcess-initializers

2020-05-05 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm updated this revision to Diff 262189. rsandifo-arm added a comment. Put two other related warnings under the new option Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79244/new/ https://reviews.llvm.org/D79244 Files: clang/docs/Diagn

[PATCH] D79236: [docs] Regenerate DiagnosticsReference.rst

2020-05-06 Thread Richard Sandiford via Phabricator via cfe-commits
This revision was not accepted when it landed; it landed in state "Needs Review". This revision was automatically updated to reflect the committed changes. Closed by commit rGfb4574df52fd: [docs] Regenerate DiagnosticsReference.rst (authored by rsandifo-arm). Changed prior to commit: https://r

[PATCH] D79244: [Sema] Put existing warning under -Wexcess-initializers

2020-05-06 Thread Richard Sandiford via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGe959931092d5: [Sema] Put existing warning under -Wexcess-initializers (authored by rsandifo-arm). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79244/new/ h

[PATCH] D76689: [Sema][SVE] Fix handling of initialisers for built-in SVE types

2020-05-06 Thread Richard Sandiford via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG69ab8b46b84d: [Sema][SVE] Fix handling of initialisers for built-in SVE types (authored by rsandifo-arm). Changed prior to commit: https://reviews.llvm.org/D76689?vs=261483&id=262342#toc Repository:

[PATCH] D79584: [SVE] Add a couple of extra sizeless type tests

2020-05-07 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm created this revision. rsandifo-arm added reviewers: sdesmalen, efriedma, rovka, rjmccall. Herald added subscribers: cfe-commits, psnobl, rkruppe, tschuett. Herald added a project: clang. This patch adds tests for things that happened to be fixed by previous patches, but that should c

[PATCH] D113779: [Clang] Add mfp16, mfp16fml and mdotprod flags for ARM target features.

2022-09-08 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. I can see at least three ways of handling this: 1. @paulwalker-arm's suggestion to allow `-march=` without a base architecture (or with a dummy base architecture that means “no change”) 2. a single new option `-mfoo=` that applies on top of `-march` and can be used

[PATCH] D129135: [doc][ReleaseNotes] Document AArch64 SVE ABI fix from D127209

2022-07-05 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added inline comments. Comment at: clang/docs/ReleaseNotes.rst:503 +- Targeting AArch64, LLVM now only preserves the z8-z23 registers across + a call if the registers z0-z7 are used to pass data into or out of a + subroutine. This new behavior now matches the AAPCS

[PATCH] D129135: [doc][ReleaseNotes] Document AArch64 SVE ABI fix from D127209

2022-07-05 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added inline comments. Comment at: clang/docs/ReleaseNotes.rst:503 +- Targeting AArch64, since D127209 LLVM now only preserves the z8-z23 + and p4-p15 registers across a call if the registers z0-z7 or p0-p4 are + used to pass data into or out of a subroutine. The n

[PATCH] D86101: [AArch64][SVE] Add missing debug info for ACLE types.

2020-08-19 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added inline comments. Comment at: clang/lib/CodeGen/CGDebugInfo.cpp:748 + llvm::DINodeArray SubscriptArray = DBuilder.getOrCreateArray(Subscript); + llvm::DIType *ElemTy = + getOrCreateType(Info.ElementType, TheCU->getFile()); I m

[PATCH] D81083: [Clang] Allow "vector_size" applied to Booleans

2020-08-20 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. I'm not qualified to review the CodeGen stuff (or accept the patch, obvs. :-)) but FWIW, here are some comments on the doc and Sema side. It might be good to have more Sema tests for valid and invalid usage, e.g. for which operators are valid and which aren't. Tha

[PATCH] D85736: [Sema][AArch64] Support arm_sve_vector_bits attribute

2020-08-20 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. LGTM from a spec point of view, but I don't think I should be the one to approve. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85736/new/ https://reviews.llvm.org/D85736 ___ cfe-commits mailing list cfe-commits

[PATCH] D81083: [Clang] Allow "vector_size" applied to Booleans

2020-08-21 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added inline comments. Comment at: clang/docs/LanguageExtensions.rst:492 + +The memory representation of a boolean vector is the smallest fitting +power-of-two integer. The alignment is the alignment of that integer type. This simoll wrote: > rsand

[PATCH] D86065: [SVE] Make ElementCount members private

2020-08-28 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. In D86065#2241146 , @david-arm wrote: > Hi @ctetreau, ok for now I'm going to completely remove the operators and > revert the code using those operators to how it was before. I'm not sure what > you mean about the predicate

[PATCH] D77056: [Sema] Allow non-member operators for sizeless SVE types

2020-12-18 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. Herald added a subscriber: NickHung. Ping. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77056/new/ https://reviews.llvm.org/D77056 ___ cfe-commits mailing list cfe-commits@

[PATCH] D77056: [Sema] Allow non-member operators for sizeless SVE types

2020-12-21 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. Thanks for the reviews. In D77056#2463959 , @rsmith wrote: > That said, I'm concerned that the design of this feature will severely limit > its utility. For classes and enums, operators are typically defined in an > associa

[PATCH] D90956: [clang][SVE] Activate macro `__ARM_FEATURE_SVE_VECTOR_OPERATORS`.

2020-11-11 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. The tests look good to me FWIW. The Sema side is already covered by `Sema/attr-arm-sve-vector-bits.c` and the patch seems to test for the important ABI bits. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D90956/new/

[PATCH] D79584: [SVE] Add a couple of extra sizeless type tests

2020-11-27 Thread Richard Sandiford via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGa2d561f1a336: [SVE] Add a couple of extra sizeless type tests (authored by rsandifo-arm). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79584/new/ https://r

[PATCH] D62961: [AST] Add new Type queries for sizeless types

2020-11-27 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm abandoned this revision. rsandifo-arm added a comment. Was superceded by later revisions, but I forgot to close this one. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62961/new/ https://reviews.llvm.org/D62961 ___

[PATCH] D62962: Clang implementation of sizeless types

2020-11-27 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm abandoned this revision. rsandifo-arm added a comment. Was superceded by later revisions, but I forgot to close this one. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62962/new/ https://reviews.llvm.org/D62962 ___

[PATCH] D92222: [Sema] Make more overload candidate types use iterator_ranges (NFC)

2020-11-27 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. rsandifo-arm requested review of this revision. I have a patch that adds another group of candidate types to BuiltinCandidateTypeSet. Currently two styles are in use: the older begin/end pai

[PATCH] D77056: [Sema][SVE] Allow non-member operators for SVE types

2020-11-27 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm updated this revision to Diff 308073. rsandifo-arm added a comment. Rebase onto current trunk, and also on top of: https://reviews.llvm.org/D9 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77056/new/ https://reviews.llvm.org/D77056

[PATCH] D77056: [Sema] Allow non-member operators for sizeless SVE types

2020-11-27 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. Sorry for reviving this after so long, but I'd like to bump it from an RFC to an RFA. As the new covering message says, the spec is now part of the ACLE specification. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77

[PATCH] D92222: [Sema] Make more overload candidate types use iterator_ranges (NFC)

2020-12-07 Thread Richard Sandiford via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGfd14a2753368: [Sema] Make more overload candidate types use iterator_ranges (NFC) (authored by rsandifo-arm). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D9

[PATCH] D103603: [Sema][RISCV] Allow ?: to select Typedef BuiltinType in C

2021-06-03 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. Thanks for the fix. I agree this is the right behaviour FWIW. I held off approving it in case there's another idiom that's preferred when comparing canonical types. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D1036

[PATCH] D127762: [Clang][AArch64] Add ACLE attributes for SME.

2022-10-28 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added inline comments. Comment at: clang/include/clang/Basic/DiagnosticSemaKinds.td:2000 "overridden virtual function is here">; +def err_conflicting_overriding_attributes : Error< + "virtual function %0 has different attributes " sdesmalen wrote

[PATCH] D134681: [Clang][AArch64] Add SME outer product intrinsics

2022-10-14 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. Thanks for the patch. This is going to be inconvenient, sorry, but: while implementing the specification in GCC, I noticed that the ZA functions weren't consistent about whether they had an `_m` suffix. `svwrite` (MOVA) had one, but the MOP intrinsics that you're

[PATCH] D127762: [Clang][AArch64] Add ACLE attributes for SME.

2023-01-04 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. In D127762#4023803 , @aaron.ballman wrote: > In D127762#3960906 , @rsandifo-arm > wrote: > >> Thanks @aaron.ballman for the feedback about spellings. I've gone with the >> lower-c

[PATCH] D127762: [Clang][AArch64] Add ACLE attributes for SME.

2022-11-16 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added inline comments. Comment at: clang/include/clang/Basic/DiagnosticSemaKinds.td:2000 "overridden virtual function is here">; +def err_conflicting_overriding_attributes : Error< + "virtual function %0 has different attributes " aaron.ballman w

[PATCH] D127762: [Clang][AArch64] Add ACLE attributes for SME.

2022-11-16 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added inline comments. Comment at: clang/include/clang/Basic/DiagnosticSemaKinds.td:2000 "overridden virtual function is here">; +def err_conflicting_overriding_attributes : Error< + "virtual function %0 has different attributes " rsandifo-arm wr

[PATCH] D139028: [RFC][clang] Add attribute-like keywords

2023-01-25 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. Ping. If this approach is acceptable, I think we could use it for future ACLE features too (rather than the GNU attributes that we've used previously). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D139028/new/ https:

[PATCH] D127762: [Clang][AArch64] Add/implement ACLE keywords for SME.

2023-08-02 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. Mostly LGTM from a spec POV, but some comments below. Comment at: clang/include/clang/Basic/Attr.td:2439 def ArmStreaming : TypeAttr, TargetSpecificAttr { let Spellings = [RegularKeyword<"__arm_streaming">]; In current main,

[PATCH] D127762: [Clang][AArch64] Add/implement ACLE keywords for SME.

2023-08-03 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. Thanks for dropping the attribute requirements down to TargetAArch64. But the offsetting requirement was that something somewhere (CodeGen?) must raise an error if code requires SME and SME isn't present. I think that means: 1. SME is not enabled for an `__arm_st

[PATCH] D139028: [RFC][clang] Add attribute-like keywords

2023-08-07 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm abandoned this revision. rsandifo-arm added a comment. Superceded by D148700 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D139028/new/ https://reviews.llvm.org/D139028 ___

[PATCH] D157269: [Clang][AArch64] Diagnostics for SME attributes when target doesn't have 'sme'

2023-08-07 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. The intent looks good to me, but I'm not in a position to approve. Very pedantic, sorry, but on the description, I think: > Calls from non-streaming functions to streaming-functions require the > compiler to enable/disable streaming-SVE mode around the call-site.

[PATCH] D157270: [Clang][AArch64] Add diagnostic for calls from non-ZA to shared-ZA functions.

2023-08-07 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added inline comments. Comment at: clang/lib/Sema/SemaChecking.cpp:6737 +else if (const auto *FPT = CallerFD->getType()->getAs()) + CallerHasZAState |= FPT->getExtProtoInfo().AArch64SMEAttributes & + FunctionType::SME_PS

[PATCH] D127762: [Clang][AArch64] Add/implement ACLE keywords for SME.

2023-08-07 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm accepted this revision. rsandifo-arm added a comment. LGTM too, thanks. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D127762/new/ https://reviews.llvm.org/D127762 ___ cfe-commits mailing lis

[PATCH] D157270: [Clang][AArch64] Add diagnostic for calls from non-ZA to shared-ZA functions.

2023-08-07 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added inline comments. Comment at: clang/test/Sema/aarch64-sme-func-attrs.c:181 +void non_za_definition(void) { + sme_arm_new_za(); // OK sdesmalen wrote: > rsandifo-arm wrote: > > Would be good to have some tests for indirect function calls too (

[PATCH] D157269: [Clang][AArch64] Diagnostics for SME attributes when target doesn't have 'sme'

2023-08-07 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. LGTM in terms of intent. Comment at: clang/lib/Sema/SemaDecl.cpp:12092 + diag::err_sme_definition_using_sm_in_non_sme_target); +if (UsesZA) + Diag(NewFD->getLocation(), Suggest making this an `else if

[PATCH] D157269: [Clang][AArch64] Diagnostics for SME attributes when target doesn't have 'sme'

2023-08-07 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added inline comments. Comment at: clang/test/Sema/aarch64-sme-func-attrs-without-target-feature.cpp:20 + +// No code is generated for declarations, so it should be fine to declare using the attribute. +void streaming_compatible_decl() __arm_streaming_compatible; //

[PATCH] D157270: [Clang][AArch64] Add diagnostic for calls from non-ZA to shared-ZA functions.

2023-08-07 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added inline comments. Comment at: clang/test/Sema/aarch64-sme-func-attrs.c:181 +void non_za_definition(void) { + sme_arm_new_za(); // OK sdesmalen wrote: > rsandifo-arm wrote: > > sdesmalen wrote: > > > rsandifo-arm wrote: > > > > Would be good t

[PATCH] D127762: [Clang][AArch64] Add ACLE attributes for SME.

2022-11-22 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added inline comments. Comment at: clang/include/clang/Basic/DiagnosticSemaKinds.td:2000 "overridden virtual function is here">; +def err_conflicting_overriding_attributes : Error< + "virtual function %0 has different attributes " aaron.ballman w

[PATCH] D127762: [Clang][AArch64] Add ACLE attributes for SME.

2022-11-30 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. Thanks @aaron.ballman for the feedback about spellings. I've gone with the lower-case names like `__arm_streaming` in what follows, as a plausible strawman. My main concern with keywords is: > This approach means there's plenty of flexibility available to parse t

[PATCH] D76690: [AST][SVE] Treat built-in SVE types as POD

2020-03-24 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm created this revision. rsandifo-arm added reviewers: sdesmalen, efriedma, rovka, rjmccall. Herald added subscribers: cfe-commits, psnobl, rkruppe, tschuett. Herald added a reviewer: rengolin. Herald added a project: clang. Built-in SVE types are POD in much the same that scalars and f

[PATCH] D76691: [AST][SVE] Treat built-in SVE types as trivially copyable

2020-03-24 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm created this revision. rsandifo-arm added reviewers: sdesmalen, efriedma, rovka, rjmccall. Herald added subscribers: cfe-commits, psnobl, rkruppe, tschuett. Herald added a reviewer: rengolin. Herald added a project: clang. rsandifo-arm added a child revision: D76692: [AST][SVE] Treat b

[PATCH] D76692: [AST][SVE] Treat built-in SVE types as trivial

2020-03-24 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm created this revision. rsandifo-arm added reviewers: sdesmalen, efriedma, rovka, rjmccall. Herald added subscribers: cfe-commits, psnobl, rkruppe, tschuett. Herald added a reviewer: rengolin. Herald added a project: clang. rsandifo-arm added a parent revision: D76691: [AST][SVE] Treat

[PATCH] D76689: [Sema][SVE] Fix handling of initialisers for built-in SVE types

2020-03-24 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm created this revision. rsandifo-arm added reviewers: sdesmalen, efriedma, rovka, rjmccall. Herald added subscribers: cfe-commits, psnobl, rkruppe, tschuett. Herald added a reviewer: rengolin. Herald added a project: clang. The built-in SVE types are supposed to be treated as opaque ty

[PATCH] D76694: [Sema][SVE] Allow casting SVE types to themselves in C

2020-03-24 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm created this revision. rsandifo-arm added reviewers: sdesmalen, efriedma, rovka, rjmccall. Herald added subscribers: cfe-commits, psnobl, rkruppe, tschuett. Herald added a reviewer: rengolin. Herald added a project: clang. Casts from an SVE type to itself aren't very useful, but they

[PATCH] D76693: [Sema][SVE] Allow ?: to select between SVE types in C

2020-03-24 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm created this revision. rsandifo-arm added reviewers: sdesmalen, efriedma, rovka, rjmccall. Herald added subscribers: cfe-commits, psnobl, rkruppe, tschuett. Herald added a reviewer: rengolin. Herald added a project: clang. When compiling C, a ?: between two values of the same SVE type

[PATCH] D76690: [AST][SVE] Treat built-in SVE types as POD

2020-03-24 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm marked an inline comment as done. rsandifo-arm added inline comments. Comment at: clang/lib/AST/Type.cpp:2515 + if (BaseTy->isSizelessBuiltinType()) +return true; + efriedma wrote: > Can you rearrange this so isSizelessBuiltinType() is at the bo

[PATCH] D76693: [Sema][SVE] Allow ?: to select between SVE types in C

2020-03-24 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. In D76693#1939866 , @efriedma wrote: > Do we want to allow stuff like `x ? (svint8_t)0 : (signed char)0` `(svint8_t)0` is invalid as thing stand. The intention is for the types to be opaque and only used via intrinsics, ra

[PATCH] D76694: [Sema][SVE] Allow casting SVE types to themselves in C

2020-03-24 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. In D76694#1939863 , @efriedma wrote: > Is it not legal to cast an SVE type to any type other than itself? Not in normal length-agnostic mode. Instead we provide reinterpret intrinsics for type changes that are supposed to

[PATCH] D76693: [Sema][SVE] Allow ?: to select between SVE types in C

2020-03-25 Thread Richard Sandiford via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG578fb2501a66: [Sema][SVE] Allow ?: to select between SVE types in C (authored by rsandifo-arm). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76693/new/ htt

[PATCH] D76694: [Sema][SVE] Allow casting SVE types to themselves in C

2020-03-25 Thread Richard Sandiford via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG856bdd01fd65: [Sema][SVE] Allow casting SVE types to themselves in C (authored by rsandifo-arm). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76694/new/ ht

[PATCH] D76690: [AST][SVE] Treat built-in SVE types as POD

2020-03-27 Thread Richard Sandiford via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG9dcb20a7d008: [AST][SVE] Treat built-in SVE types as POD (authored by rsandifo-arm). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76690/new/ https://review

[PATCH] D76691: [AST][SVE] Treat built-in SVE types as trivially copyable

2020-03-27 Thread Richard Sandiford via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG35392660e6d5: [AST][SVE] Treat built-in SVE types as trivially copyable (authored by rsandifo-arm). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76691/new/

[PATCH] D76692: [AST][SVE] Treat built-in SVE types as trivial

2020-03-27 Thread Richard Sandiford via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGc6824883cc9d: [AST][SVE] Treat built-in SVE types as trivial (authored by rsandifo-arm). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76692/new/ https://re

[PATCH] D77056: RFC: [Sema][SVE] Allow non-member operators for SVE types

2020-03-30 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm created this revision. rsandifo-arm added reviewers: sdesmalen, efriedma, rovka, rjmccall. Herald added subscribers: cfe-commits, danielkiss, psnobl, rkruppe, kristof.beyls, tschuett. Herald added a reviewer: rengolin. Herald added a project: clang. rsandifo-arm edited the summary of

[PATCH] D77056: RFC: [Sema][SVE] Allow non-member operators for SVE types

2020-03-30 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. In D77056#1950358 , @efriedma wrote: > I'm concerned we're going to run into trouble if two people define different > SVE "libraries", and you try to link both of them into the same program. If > you're not careful, you end

[PATCH] D77056: RFC: [Sema][SVE] Allow non-member operators for SVE types

2020-03-31 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm updated this revision to Diff 253867. rsandifo-arm edited the summary of this revision. rsandifo-arm added a comment. Require operators to be defined as static or inside a namespace Also remove redundant brackets and add more tests. Repository: rG LLVM Github Monorepo CHANGES SI

[PATCH] D62961: [AST] Add new Type queries for sizeless types

2020-02-21 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm updated this revision to Diff 245812. rsandifo-arm added a comment. Update to latest master. Defer making sizeless types incomplete until D62962 . Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62961/new

[PATCH] D75572: [Sema][SVE] Reject sizeof and alignof for sizeless types

2020-03-03 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm created this revision. rsandifo-arm added reviewers: sdesmalen, efriedma, rovka, rjmccall. Herald added subscribers: cfe-commits, psnobl, rkruppe, tschuett. Herald added a reviewer: rengolin. Herald added a project: clang. rsandifo-arm added parent revisions: D75570: [AST][SVE] Add new

[PATCH] D75570: [AST][SVE] Add new Type queries for sizeless types

2020-03-03 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm created this revision. rsandifo-arm added reviewers: sdesmalen, efriedma, rovka, rjmccall. Herald added subscribers: cfe-commits, psnobl, rkruppe, kristof.beyls, tschuett, mgorny. Herald added a reviewer: rengolin. Herald added a project: clang. rsandifo-arm added a comment. rsandifo-

[PATCH] D75570: [AST][SVE] Add new Type queries for sizeless types

2020-03-03 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm added a comment. At the moment the queries just return true for SVE types, so an obvious alternative would be to check specifically for SVE types. The sizeless type concept is more general than that though. E.g. my understanding from: https://gcc.gnu.org/ml/gcc/2019-11/msg00092

[PATCH] D75571: [Sema][SVE] Add tests for valid and invalid type usage

2020-03-03 Thread Richard Sandiford via Phabricator via cfe-commits
rsandifo-arm created this revision. rsandifo-arm added reviewers: sdesmalen, efriedma, rovka, rjmccall. Herald added subscribers: cfe-commits, psnobl, jfb, rkruppe, tschuett. Herald added a reviewer: rengolin. Herald added a project: clang. rsandifo-arm added a child revision: D75572: [Sema][SVE] R

  1   2   3   >