[PATCH] D75298: [Clang][SVE] Parse builtin type string for scalable vectors

2020-03-15 Thread Sander de Smalen via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG5087ace65197: [Clang][SVE] Parse builtin type string for scalable vectors (authored by sdesmalen). Changed prior to commit: https://reviews.llvm.org/D75298?vs=249966=250421#toc Repository: rG LLVM

[PATCH] D75298: [Clang][SVE] Parse builtin type string for scalable vectors

2020-03-13 Thread Eli Friedman via Phabricator via cfe-commits
efriedma accepted this revision. efriedma added a comment. This revision is now accepted and ready to land. LGTM Comment at: clang/utils/TableGen/SveEmitter.cpp:86 + OS << "#ifndef __cplusplus\n"; + OS << "#include \n"; + OS << "#endif\n\n"; sdesmalen

[PATCH] D75298: [Clang][SVE] Parse builtin type string for scalable vectors

2020-03-13 Thread Sander de Smalen via Phabricator via cfe-commits
sdesmalen marked 2 inline comments as done. sdesmalen added inline comments. Comment at: clang/utils/TableGen/SveEmitter.cpp:86 + OS << "#ifndef __cplusplus\n"; + OS << "#include \n"; + OS << "#endif\n\n"; efriedma wrote: > I'd prefer to avoid depending on

[PATCH] D75298: [Clang][SVE] Parse builtin type string for scalable vectors

2020-03-12 Thread Eli Friedman via Phabricator via cfe-commits
efriedma added inline comments. Comment at: clang/utils/TableGen/SveEmitter.cpp:86 + OS << "#ifndef __cplusplus\n"; + OS << "#include \n"; + OS << "#endif\n\n"; I'd prefer to avoid depending on stdbool if it isn't necessary. Comment at:

[PATCH] D75298: [Clang][SVE] Parse builtin type string for scalable vectors

2020-03-12 Thread Sander de Smalen via Phabricator via cfe-commits
sdesmalen updated this revision to Diff 249966. sdesmalen added a comment. - Updated license header for the arm_sve.h file to use the LLVM license instead of MIT. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75298/new/ https://reviews.llvm.org/D75298 Files:

[PATCH] D75298: [Clang][SVE] Parse builtin type string for scalable vectors

2020-03-12 Thread Sander de Smalen via Phabricator via cfe-commits
sdesmalen added a comment. In D75298#1918489 , @efriedma wrote: > Changing the way we expose the builtins isn't going to affect most of the > code related to the SVE intrinsics. I'm fine sticking with a known working > approach, and trying to address

[PATCH] D75298: [Clang][SVE] Parse builtin type string for scalable vectors

2020-03-11 Thread Eli Friedman via Phabricator via cfe-commits
efriedma added a comment. Changing the way we expose the builtins isn't going to affect most of the code related to the SVE intrinsics. I'm fine sticking with a known working approach, and trying to address that issue later. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75298/new/

[PATCH] D75298: [Clang][SVE] Parse builtin type string for scalable vectors

2020-03-06 Thread Sander de Smalen via Phabricator via cfe-commits
sdesmalen added a subscriber: simon_tatham. sdesmalen added a comment. Herald added a subscriber: danielkiss. In D75298#1904561 , @efriedma wrote: > > Do you happen to know which method in Sema does this? I had a look before, > > but couldn't find where

[PATCH] D75298: [Clang][SVE] Parse builtin type string for scalable vectors

2020-03-03 Thread Eli Friedman via Phabricator via cfe-commits
efriedma added a comment. > This is because many of the builtins are protected by an architecture guard > like `#ifdef __ARM_FEATURE_SVE` or `#ifdef __ARM_FEATURE_SVE2`. I think TARGET_HEADER_BUILTIN has support for requiring target features. Granted, we don't use it much at the moment, so

[PATCH] D75298: [Clang][SVE] Parse builtin type string for scalable vectors

2020-03-03 Thread Sander de Smalen via Phabricator via cfe-commits
sdesmalen added a comment. In D75298#1901578 , @efriedma wrote: > How are you planning to handle them with your current approach? Each prototype will get a `arm_sve_alias` attribute that specifies which builtin it relates to. For example:

[PATCH] D75298: [Clang][SVE] Parse builtin type string for scalable vectors

2020-03-02 Thread Eli Friedman via Phabricator via cfe-commits
efriedma added a comment. > The main reason we couldn't remove the header file is because of the > short-forms/overloaded intrinsics How are you planning to handle them with your current approach? Anyway, that isn't really relevant to the question of why we need to `#define svld1_u8(...)

[PATCH] D75298: [Clang][SVE] Parse builtin type string for scalable vectors

2020-03-02 Thread Sander de Smalen via Phabricator via cfe-commits
sdesmalen updated this revision to Diff 247659. sdesmalen marked an inline comment as done. sdesmalen added a comment. - Added comment describing `q` for scalable vectors to Builtins.def - Use `getKnownMinSize()` for calculating `LargestVectorWidth` CHANGES SINCE LAST ACTION

[PATCH] D75298: [Clang][SVE] Parse builtin type string for scalable vectors

2020-03-02 Thread Sander de Smalen via Phabricator via cfe-commits
sdesmalen added a comment. In D75298#1898770 , @efriedma wrote: > Can we avoid a gigantic, expensive to parse arm_sve.h somehow? Given that > the compiler has to know the signatures for all these buitins anyway, can we > just make including arm_sve.h

[PATCH] D75298: [Clang][SVE] Parse builtin type string for scalable vectors

2020-02-28 Thread Eli Friedman via Phabricator via cfe-commits
efriedma added a comment. Please update the documentation comment at the top of Builtins.def . Can we avoid a gigantic, expensive to parse arm_sve.h somehow? Given that the compiler has to know the signatures for all these buitins anyway, can we just make including arm_sve.h set some flag in

[PATCH] D75298: [Clang][SVE] Parse builtin type string for scalable vectors

2020-02-27 Thread Sander de Smalen via Phabricator via cfe-commits
sdesmalen created this revision. sdesmalen added reviewers: efriedma, rjmccall, rovka, rsandifo-arm. Herald added subscribers: psnobl, rkruppe, kristof.beyls, tschuett, mgorny. Herald added a reviewer: rengolin. Herald added a project: clang. This patch adds 'q' to mean 'scalable vector' in the