[llvm-branch-commits] [cfe-branch] r196746 - Merging r196724:

Bill Wendling isanbard at gmail.com
Sun Dec 8 18:58:56 PST 2013


Author: void
Date: Sun Dec  8 20:58:56 2013
New Revision: 196746

URL: http://llvm.org/viewvc/llvm-project?rev=196746&view=rev
Log:
Merging r196724:
------------------------------------------------------------------------
r196724 | tnorthover | 2013-12-08 07:24:55 -0800 (Sun, 08 Dec 2013) | 5 lines

ARM: teach Sema that "r" can match 64-bit values

We already support using "r" on 64-bit values (a GPRPair is
allocated), but Sema doesn't know this yet so issues a warning. This
should fix it.
------------------------------------------------------------------------

Modified:
    cfe/branches/release_34/   (props changed)
    cfe/branches/release_34/lib/Basic/Targets.cpp
    cfe/branches/release_34/test/Sema/arm-asm.c

Propchange: cfe/branches/release_34/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Dec  8 20:58:56 2013
@@ -1,4 +1,4 @@
 /cfe/branches/type-system-rewrite:134693-134817
-/cfe/trunk:195126,195128,195135-195136,195146,195149,195154,195158,195163,195168,195174,195249,195268,195283,195303,195326,195329,195367,195384,195409,195420,195422,195501,195547,195556,195558,195587,195620,195635,195669,195687,195693,195710,195713,195716,195756,195760,195768,195777,195789,195792,195804,195827,195843-195844,195877,195887-195888,195897,195903,195905-195906,195932,195936-195943,195970,195983,196045,196048,196050,196058,196114-196115,196153,196189-196192,196198-196199,196206,196208-196209,196211,196215,196359-196362,196370,196387,196423,196454,196456,196459,196488,196532-196533,196535,196538,196588,196630,196658,196712
+/cfe/trunk:195126,195128,195135-195136,195146,195149,195154,195158,195163,195168,195174,195249,195268,195283,195303,195326,195329,195367,195384,195409,195420,195422,195501,195547,195556,195558,195587,195620,195635,195669,195687,195693,195710,195713,195716,195756,195760,195768,195777,195789,195792,195804,195827,195843-195844,195877,195887-195888,195897,195903,195905-195906,195932,195936-195943,195970,195983,196045,196048,196050,196058,196114-196115,196153,196189-196192,196198-196199,196206,196208-196209,196211,196215,196359-196362,196370,196387,196423,196454,196456,196459,196488,196532-196533,196535,196538,196588,196630,196658,196712,196724
 /cfe/trunk/test:170344
 /cfe/trunk/test/SemaTemplate:126920

Modified: cfe/branches/release_34/lib/Basic/Targets.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_34/lib/Basic/Targets.cpp?rev=196746&r1=196745&r2=196746&view=diff
==============================================================================
--- cfe/branches/release_34/lib/Basic/Targets.cpp (original)
+++ cfe/branches/release_34/lib/Basic/Targets.cpp Sun Dec  8 20:58:56 2013
@@ -4106,7 +4106,7 @@ public:
     case 'r': {
       switch (Modifier) {
       default:
-        return (isInOut || isOutput || Size <= 32);
+        return (isInOut || isOutput || Size <= 64);
       case 'q':
         // A register of size 32 cannot fit a vector type.
         return false;

Modified: cfe/branches/release_34/test/Sema/arm-asm.c
URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_34/test/Sema/arm-asm.c?rev=196746&r1=196745&r2=196746&view=diff
==============================================================================
--- cfe/branches/release_34/test/Sema/arm-asm.c (original)
+++ cfe/branches/release_34/test/Sema/arm-asm.c Sun Dec  8 20:58:56 2013
@@ -5,3 +5,8 @@ void f (void) {
   asm volatile ("lw (r1), %0[val]": "=&b"(Val)); // expected-error {{invalid output constraint '=&b' in asm}}
   return;
 }
+
+void test_64bit_r(void) {
+  long long foo = 0, bar = 0;
+  asm volatile("INST %0, %1" : "=r"(foo) : "r"(bar));
+}





More information about the llvm-branch-commits mailing list