[clang] [Clang][AArch64]Refactor typespec handling in SveEmitter.cpp (PR #117717)
Sander de Smalen via cfe-commits
cfe-commits at lists.llvm.org
Mon Dec 2 06:49:55 PST 2024
================
@@ -570,27 +579,35 @@ void SVEType::applyTypespec(StringRef TS) {
for (char I : TS) {
switch (I) {
case 'Q':
+ assert(Kind == Invalid && "Invalid use of modifer!");
Kind = Svcount;
break;
case 'P':
+ assert(Kind == Invalid && "Invalid use of modifer!");
Kind = Predicate;
break;
case 'U':
+ assert(Kind == Invalid && "Invalid use of modifer!");
Kind = UInt;
break;
case 'c':
+ Kind = isInvalid() ? SInt : Kind;
----------------
sdesmalen-arm wrote:
Sorry, for a second I must have forgotten that `Q` and `P` are also valid with `[csil]`. I think that even for `q`, `P` and `Q` should be valid modifiers. So just ignore this suggestion!
That said, `f`, `h`, `d` and `b` should require `Kind == Invalid`, as the typespec modifiers don't apply to them, so an assert for those would be useful.
https://github.com/llvm/llvm-project/pull/117717
More information about the cfe-commits
mailing list