[llvm-branch-commits] [SPARC][IAS] Rework ASI tag matching in prep for `ParseForAllFeatures` (PR #96020)

Sergei Barannikov via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Jun 19 04:22:05 PDT 2024


================
@@ -1085,13 +1085,24 @@ ParseStatus SparcAsmParser::parseASITag(OperandVector &Operands) {
   SMLoc E = Parser.getTok().getEndLoc();
   int64_t ASIVal = 0;
 
-  if (is64Bit() && (getLexer().getKind() == AsmToken::Hash)) {
+  switch (getLexer().getKind()) {
+  case AsmToken::LParen:
+  case AsmToken::Integer:
+  case AsmToken::Identifier:
+  case AsmToken::Plus:
+  case AsmToken::Minus:
+  case AsmToken::Tilde:
----------------
s-barannikov wrote:

I'd suggest to extract these cases into a helper function that returns true if the token can be a start of expression.

Also, optionally, add a `parseExpression` method that returns NoMatch if the first token can't start an expression and Success/Failure if it can and expression parsing succeeded/failed.


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


More information about the llvm-branch-commits mailing list