[all-commits] [llvm/llvm-project] 9611ee: [X86] Teach the assembler parser to handle a '*' b...

topperc via All-commits all-commits at lists.llvm.org
Wed Jul 29 22:00:56 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 9611ee5f40ea0b0878725dd06657e55363b4065f
      https://github.com/llvm/llvm-project/commit/9611ee5f40ea0b0878725dd06657e55363b4065f
  Author: Craig Topper <craig.topper at intel.com>
  Date:   2020-07-29 (Wed, 29 Jul 2020)

  Changed paths:
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    M llvm/test/MC/X86/x86-32.s
    M llvm/test/MC/X86/x86-64.s

  Log Message:
  -----------
  [X86] Teach the assembler parser to handle a '*' between segment register and base/index/displacement part of an address

A '*' after the segment is equivalent to a '*' before the segment register. To make the AsmMatcher table work we need to place the '*' token into the operand vector before the full memory operand. To accomplish this I've modified some portions of operand parsing to expose the operand vector to ParseATTOperand so that the token can be pushed to the vector after parsing the segment register and before creating the memory operand using that segment register.

Fixes PR46879

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D84895




More information about the All-commits mailing list