Author: coby Date: Mon Jul 24 00:06:37 2017 New Revision: 308867 URL: http://llvm.org/viewvc/llvm-project?rev=308867&view=rev Log: [X86][InlineAsm][Ms Compatibility]Prefer variable name over a register when the two collides
On MS-style, the following snippet: int eax; __asm mov eax, ebx should yield loading of ebx, into the location pointed by the variable eax This patch sees to it. Currently, a reg-to-reg move would have been invoked. llvm: D34739 Differential Revision: https://reviews.llvm.org/D34740 Added: cfe/trunk/test/CodeGen/ms-inline-asm-var-name.c (with props) Added: cfe/trunk/test/CodeGen/ms-inline-asm-var-name.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/ms-inline-asm-var-name.c?rev=308867&view=auto ============================================================================== --- cfe/trunk/test/CodeGen/ms-inline-asm-var-name.c (added) +++ cfe/trunk/test/CodeGen/ms-inline-asm-var-name.c Mon Jul 24 00:06:37 2017 @@ -0,0 +1,12 @@ +// REQUIRES: x86-registered-target +// RUN: %clang_cc1 %s -triple i386-apple-darwin10 -fasm-blocks -emit-llvm -o - | FileCheck %s + +void t() { + int eax; + int Ecx; + __asm mov eax, ebx + // CHECK: mov $0, ebx + __asm add ecx, Ecx + // CHECK: add ecx, $1 +} + Propchange: cfe/trunk/test/CodeGen/ms-inline-asm-var-name.c ------------------------------------------------------------------------------ svn:eol-style = native Propchange: cfe/trunk/test/CodeGen/ms-inline-asm-var-name.c ------------------------------------------------------------------------------ svn:keywords = Author Date Id Rev URL Propchange: cfe/trunk/test/CodeGen/ms-inline-asm-var-name.c ------------------------------------------------------------------------------ svn:mime-type = text/plain _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits