[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 05:28:38 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:

nit: can you also add something like: `assert((Kind == Invalid || Kind == UInt) && "Unexpected modifier used for typespec")`  ?

https://github.com/llvm/llvm-project/pull/117717


More information about the cfe-commits mailing list