[PATCH] D57375: X86AsmParser AVX-512: Return error instead of hitting assert

Brandon Jones via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 29 02:55:45 PST 2019


BrandonTJones created this revision.
BrandonTJones added a reviewer: grosbach.
Herald added subscribers: llvm-commits, hiraditya.

When parsing a sequence of tokens beginning with {, it will hit an assert and crash if the token afterwards is not an identifier. Instead of this, return a more verbose error as seen elsewhere in the function.


Repository:
  rL LLVM

https://reviews.llvm.org/D57375

Files:
  llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp


Index: llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
===================================================================
--- llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
+++ llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
@@ -1655,6 +1655,8 @@
   const AsmToken &Tok = Parser.getTok();
   // Eat "{" and mark the current place.
   const SMLoc consumedToken = consumeToken();
+  if (Tok.isNot(AsmToken::Identifier))
+    return ErrorOperand(Tok.getLoc(), "Expected an identifier after {");
   if (Tok.getIdentifier().startswith("r")){
     int rndMode = StringSwitch<int>(Tok.getIdentifier())
       .Case("rn", X86::STATIC_ROUNDING::TO_NEAREST_INT)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D57375.184050.patch
Type: text/x-patch
Size: 651 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190129/7d623752/attachment.bin>


More information about the llvm-commits mailing list