Now LLVM assembler cannot process the following code and generates an error. GNU tools support .set assignment directive with numeric register name.
.set r4, 4 test.s:1:11: error: invalid token in expression .set r4, $4 ^
This patch teach assembler to handle such directives correctly. Unfortunately a numeric register name cannot be represented as an expression. That's why we have to maintain a separate StringMap in the MipsAsmParser to keep mapping between aliases names and register numbers.