llvm.org GIT mirror llvm / 0571093
McARM: Early exit on failure (NEFC). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123739 91177308-0d34-0410-b5e6-96231b3b80d8 Daniel Dunbar 9 years ago
1 changed file(s) with 8 addition(s) and 7 deletion(s). Raw diff Collapse all Expand all
709709 return true;
710710 }
711711
712 // The next token must either be a comma or a closing bracket.
713 const AsmToken &Tok = Parser.getTok();
714 if (!Tok.is(AsmToken::Comma) && !Tok.is(AsmToken::RBrac))
715 return true;
716
712717 bool Preindexed = false;
713718 bool Postindexed = false;
714719 bool OffsetIsReg = false;
717722
718723 // First look for preindexed address forms, that is after the "[Rn" we now
719724 // have to see if the next token is a comma.
720 const AsmToken &Tok = Parser.getTok();
721725 if (Tok.is(AsmToken::Comma)) {
722726 Preindexed = true;
723727 Parser.Lex(); // Eat comma token.
737741 E = RBracTok.getLoc();
738742 Parser.Lex(); // Eat right bracket token.
739743
740
741744 const AsmToken &ExclaimTok = Parser.getTok();
742745 ARMOperand *WBOp = 0;
743746 if (ExclaimTok.is(AsmToken::Exclaim)) {
762765 Operands.push_back(WBOp);
763766
764767 return false;
765 }
766 // The "[Rn" we have so far was not followed by a comma.
767 else if (Tok.is(AsmToken::RBrac)) {
768 } else {
769 // The "[Rn" we have so far was not followed by a comma.
770
768771 // If there's anything other than the right brace, this is a post indexing
769772 // addressing form.
770773 E = Tok.getLoc();
808811 S, E));
809812 return false;
810813 }
811
812 return true;
813814 }
814815
815816 /// Parse the offset of a memory operand after we have seen "[Rn," or "[Rn],"