[PATCH] D71436: [X86][AsmParser] re-introduce 'offset' operator

Eric Astor via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 12 14:21:36 PST 2019


epastor created this revision.
Herald added subscribers: llvm-commits, hiraditya.
Herald added a project: LLVM.

Amend MS offset operator implementation, to more closely fit with its MS counterpart:

1. InlineAsm: evaluate non-local source entities to their (address) location
2. Provide a mean with which one may acquire the address of an assembly label via MS syntax, rather than yielding a memory reference (i.e. "offset asm_label" and "$asm_label" should be synonymous
3. address PR32530

Based on http://llvm.org/D37461

Fix broken test where the break appears unrelated.

- Set up appropriate memory-input rewrites for variable references.

- Intel-dialect assembly printing now correctly handles addresses by adding "offset".

- Pass offsets as immediate operands (using "r" constraint for offsets of locals).


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D71436

Files:
  llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h
  llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
  llvm/lib/MC/MCParser/AsmParser.cpp
  llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
  llvm/lib/Target/X86/AsmParser/X86Operand.h
  llvm/lib/Target/X86/X86AsmPrinter.cpp
  llvm/test/CodeGen/X86/offset-operator.ll
  llvm/test/MC/X86/pr32530.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D71436.233682.patch
Type: text/x-patch
Size: 26630 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191212/409105bb/attachment-0001.bin>


More information about the llvm-commits mailing list