[LLVMbugs] [Bug 20052] direct calls in msvc style inline assembler turn into indirect calls

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri Aug 1 13:27:52 PDT 2014


http://llvm.org/bugs/show_bug.cgi?id=20052

Reid Kleckner <rnk at google.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #18 from Reid Kleckner <rnk at google.com> ---
This should be fixed by r214550.

Jeff, I decided your approach was more or less correct.  When parsing direct
calls in a .s file, we form an absolute memory X86Operand, and match that
against the direct call.  However, this is obviously ambiguous with indirect
calls through memory.  gas solves this for AT&T style assembly by
disambiguating with a *:

calll foo -> call foo
calll *foo -> call dword ptr [foo]

In LLVM, this appears as a '*' in the token stream, and the asm matcher knows
to look for it.  However, for Intel syntax, we don't have any means of
disambiguating yet.  Time to file a new bug.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140801/696e88b9/attachment.html>


More information about the llvm-bugs mailing list