[PATCH] D14639: LLDB JIT needs android vector passing rules.

Reid Kleckner via cfe-commits cfe-commits at lists.llvm.org
Wed Dec 2 11:25:56 PST 2015


rnk accepted this revision.
rnk added a reviewer: rnk.
rnk added a comment.
This revision is now accepted and ready to land.

Ouch, that 2012 vector passing ABI break is a bummer. :(


================
Comment at: lib/CodeGen/TargetInfo.cpp:5236
@@ +5235,3 @@
+  if (const VectorType *VT = Ty->getAs<VectorType> ()) {
+    if (isAndroid()) {
+      // Check whether VT is legal.
----------------
I think it would be useful to document that Android effectively shipped APIs compiled with Clang 3.1, so that is the behavior we are trying to match here.

================
Comment at: lib/CodeGen/TargetInfo.cpp:5240
@@ +5239,3 @@
+      // NumElements should be power of 2 or equal to 3.
+      if ((NumElements & (NumElements - 1)) != 0 && NumElements != 3)
+        return true;
----------------
I'd appreciate the use of isPowerOf2_32() here.

================
Comment at: lib/CodeGen/TargetInfo.cpp:5247
@@ +5246,3 @@
+      // NumElements should be power of 2.
+      if ((NumElements & (NumElements - 1)) != 0)
+        return true;
----------------
ditto


http://reviews.llvm.org/D14639





More information about the cfe-commits mailing list