Author: echristo
Date: Fri Jul 29 16:20:35 2011
New Revision: 136524

URL: http://llvm.org/viewvc/llvm-project?rev=136524&view=rev
Log:
Add support for the 'Q' arm memory constraint.

Fixes rdar://9866494

Added:
    cfe/trunk/test/CodeGen/arm-inline-asm.c
Modified:
    cfe/trunk/lib/Basic/Targets.cpp

Modified: cfe/trunk/lib/Basic/Targets.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=136524&r1=136523&r2=136524&view=diff
==============================================================================
--- cfe/trunk/lib/Basic/Targets.cpp (original)
+++ cfe/trunk/lib/Basic/Targets.cpp Fri Jul 29 16:20:35 2011
@@ -147,7 +147,7 @@
   }
 
   // If -ccc-host-triple arch-pc-win32-macho option specified, we're
-  // generating code for Win32 ABI. No need to emit 
+  // generating code for Win32 ABI. No need to emit
   // __ENVIRONMENT_XX_OS_VERSION_MIN_REQUIRED__.
   if (PlatformName == "win32") {
     PlatformMinVersion = VersionTuple(Maj, Min, Rev);
@@ -2137,6 +2137,9 @@
     case 'P': // VFP Floating point register double precision
       Info.setAllowsRegister();
       return true;
+    case 'Q': // A memory address that is a single base register.
+      Info.setAllowsMemory();
+      return true;
     case 'U': // a memory reference...
       switch (Name[1]) {
       case 'q': // ...ARMV4 ldrsb

Added: cfe/trunk/test/CodeGen/arm-inline-asm.c
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/arm-inline-asm.c?rev=136524&view=auto
==============================================================================
--- cfe/trunk/test/CodeGen/arm-inline-asm.c (added)
+++ cfe/trunk/test/CodeGen/arm-inline-asm.c Fri Jul 29 16:20:35 2011
@@ -0,0 +1,6 @@
+// RUN: %clang_cc1 -triple armv7-apple-darwin9 -emit-llvm -w -o - %s | 
FileCheck %s
+
+void t1 (void *f, int g) {
+  // CHECK: call void asm "str $1, $0", "=*Q,r"
+  asm("str %1, %0" : "=Q"(f) : "r"(g));
+}


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to