OSDN Git Service

Handle the memory-ness of all U+ ARM constraints.
authorEric Christopher <echristo@apple.com>
Tue, 21 Jun 2011 22:10:57 +0000 (22:10 +0000)
committerEric Christopher <echristo@apple.com>
Tue, 21 Jun 2011 22:10:57 +0000 (22:10 +0000)
Noticed on inspection.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133553 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMISelLowering.cpp

index dc193e0..4ae4af1 100644 (file)
@@ -7379,9 +7379,12 @@ ARMTargetLowering::getConstraintType(const std::string &Constraint) const {
     case 'l': return C_RegisterClass;
     case 'w': return C_RegisterClass;
     }
-  } else {
-    if (Constraint == "Uv")
-      return C_Memory;
+  } else if (Constraint.size() == 2) {
+    switch (Constraint[0]) {
+    default: break;
+    // All 'U+' constraints are addresses.
+    case 'U': return C_Memory;
+    }
   }
   return TargetLowering::getConstraintType(Constraint);
 }