llvm/lib/Target/X86/AsmParser
Reid Kleckner ab418066a2 MS inline asm: Use memory constraints for functions instead of registers
This is consistent with how we parse them in a standalone .s file, and
inline assembly shouldn't differ.

This fixes errors about requiring more registers than available in
cases like this:
  void f();
  void __declspec(naked) g() {
    __asm pusha
    __asm call f
    __asm popa
    __asm ret
  }

There are no registers available to pass the address of 'f' into the asm
blob.  The asm should now directly call 'f'.

Tests will land in Clang shortly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214550 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-01 20:21:24 +00:00
..
CMakeLists.txt AddressSanitizer instrumentation for MOV and MOVAPS. 2014-03-14 08:58:04 +00:00
LLVMBuild.txt LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
Makefile Fix LLVM build when the user specifies CPPFLAGS on the make command line. 2010-03-12 21:42:14 +00:00
X86AsmInstrumentation.cpp [asan] Support x86 REP MOVS asm instrumentation. 2014-07-31 09:11:04 +00:00
X86AsmInstrumentation.h [asan] Support x86 REP MOVS asm instrumentation. 2014-07-31 09:11:04 +00:00
X86AsmParser.cpp MS inline asm: Use memory constraints for functions instead of registers 2014-08-01 20:21:24 +00:00
X86AsmParserCommon.h X86Operand is extracted into individual header. 2014-02-28 12:28:07 +00:00
X86Operand.h AsmMatchers: Use unique_ptr to manage ownership of MCParsedAsmOperand 2014-06-08 16:18:35 +00:00