[PATCH] D34740: [X86][InlineAsm][Ms Compatibility]Prefer variable name over a register when the two collides
coby via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jun 27 23:54:45 PDT 2017
coby created this revision.
Herald added a subscriber: eraman.
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: https://reviews.llvm.org/D34739
Repository:
rL LLVM
https://reviews.llvm.org/D34740
Files:
test/CodeGen/ms-inline-asm-var-name.c
Index: test/CodeGen/ms-inline-asm-var-name.c
===================================================================
--- test/CodeGen/ms-inline-asm-var-name.c
+++ test/CodeGen/ms-inline-asm-var-name.c
@@ -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
+}
+
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D34740.104352.patch
Type: text/x-patch
Size: 494 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170628/ab26789e/attachment.bin>
More information about the cfe-commits
mailing list