[X86][AsmParser] re-introduce 'offset' operator
Needs ReviewPublic

Authored by coby on Sep 5 2017, 3:27 AM.



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

Presented diffs are relative to D37412

InlineAsm tests: D37466

Diff Detail

coby created this revision.Sep 5 2017, 3:27 AM

Adding @mcrosier , as he originally introduced the feature

coby edited the summary of this revision. (Show Details)Sep 6 2017, 2:47 AM
rnk added inline comments.Sep 18 2017, 1:58 PM

Can you add some more tests? I think this combines with everything: scale, index, base, segment, and integer displacement.

coby added a comment.Sep 19 2017, 12:50 AM

sure, will update shortly

coby updated this revision to Diff 117285.EditedOct 1 2017, 7:45 AM

Minimal source changes - introduced 'new' enum values definitions as adapted on dependent change (D37412)
Added few more assembly level testing, as requested by @rnk
Minimized 'offset_operator.ll' test-case, and auto-updated it checks

@coby What is happening with this patch?

coby added a comment.Nov 2 2017, 3:43 AM

@coby What is happening with this patch?

currently suspended due to a more dire matters.
nonetheless - as far as functionality is to be considered, and unless any of the listed reviewers will object, this one require no further development.

@coby, is it possible to commit this patch? I'd like to fix https://bugs.llvm.org/show_bug.cgi?id=35115 based on this source.