diff options
| author | Venkatraman Govindaraju <venkatra@cs.wisc.edu> | 2014-03-02 22:55:53 +0000 |
|---|---|---|
| committer | Venkatraman Govindaraju <venkatra@cs.wisc.edu> | 2014-03-02 22:55:53 +0000 |
| commit | 07d3af282121d69c6fcae0f81933870fca5ac69e (patch) | |
| tree | ab3bd06d2f6d8bab6cbbc3aaae654279c2163782 /llvm/lib/Target/Sparc/AsmParser | |
| parent | ee68e352a7952372256e4db997755b42b88f172e (diff) | |
| download | bcm5719-llvm-07d3af282121d69c6fcae0f81933870fca5ac69e.tar.gz bcm5719-llvm-07d3af282121d69c6fcae0f81933870fca5ac69e.zip | |
[Sparc] Add return/rett instruction to Sparc backend.
llvm-svn: 202666
Diffstat (limited to 'llvm/lib/Target/Sparc/AsmParser')
| -rw-r--r-- | llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp b/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp index 901560c5c97..2ff6cdd8f43 100644 --- a/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp +++ b/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp @@ -446,6 +446,9 @@ ParseRegister(unsigned &RegNo, SMLoc &StartLoc, SMLoc &EndLoc) return Error(StartLoc, "invalid register name"); } +static void applyMnemonicAliases(StringRef &Mnemonic, unsigned Features, + unsigned VariantID); + bool SparcAsmParser:: ParseInstruction(ParseInstructionInfo &Info, StringRef Name, SMLoc NameLoc, @@ -455,6 +458,9 @@ ParseInstruction(ParseInstructionInfo &Info, StringRef Name, // First operand in MCInst is instruction mnemonic. Operands.push_back(SparcOperand::CreateToken(Name, NameLoc)); + // apply mnemonic aliases, if any, so that we can parse operands correctly. + applyMnemonicAliases(Name, getAvailableFeatures(), 0); + if (getLexer().isNot(AsmToken::EndOfStatement)) { // Read the first operand. if (getLexer().is(AsmToken::Comma)) { |

