<div dir="ltr">Could this be the patch<br><a href="http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/5228/steps/check-llvm%20msan/logs/stdio">http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/5228/steps/check-llvm%20msan/logs/stdio</a><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><pre style="font-family:"Courier New",courier,monotype,monospace;color:rgb(0,0,0);font-size:medium"><span class="gmail-stdout">FAIL: LLVM :: CodeGen/ARM/arm-shrink-wrapping.ll (5392 of 20818)
******************** TEST 'LLVM :: CodeGen/ARM/arm-shrink-wrapping.ll' FAILED ********************
Script:
--
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_msan/./bin/llc /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll -o - -enable-shrink-wrap=true -ifcvt-fn-start=1 -ifcvt-fn-stop=0 -mtriple=armv7-apple-ios       | /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_msan/./bin/FileCheck /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll --check-prefix=CHECK --check-prefix=ARM --check-prefix=ENABLE --check-prefix=ARM-ENABLE
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_msan/./bin/llc /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll -o - -enable-shrink-wrap=false -ifcvt-fn-start=1 -ifcvt-fn-stop=0 -mtriple=armv7-apple-ios       | /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_msan/./bin/FileCheck /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll --check-prefix=CHECK --check-prefix=ARM --check-prefix=DISABLE --check-prefix=ARM-DISABLE
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_msan/./bin/llc /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll -o - -enable-shrink-wrap=true -ifcvt-fn-start=1 -ifcvt-fn-stop=0 -mtriple=thumbv7-apple-ios       | /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_msan/./bin/FileCheck /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll --check-prefix=CHECK --check-prefix=THUMB --check-prefix=ENABLE --check-prefix=THUMB-ENABLE
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_msan/./bin/llc /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll -o - -enable-shrink-wrap=false -ifcvt-fn-start=1 -ifcvt-fn-stop=0 -mtriple=thumbv7-apple-ios       | /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_msan/./bin/FileCheck /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll --check-prefix=CHECK --check-prefix=THUMB --check-prefix=DISABLE --check-prefix=THUMB-DISABLE
--
Exit Code: 1

Command Output (stderr):
--
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll:659:10: error: expected string not found in input
; CHECK: bl
         ^
<stdin>:375:7: note: scanning from here
 vldr s0, LCPI12_0
      ^
<stdin>:377:2: note: possible intended match here
 bx lr
 ^
</span></pre><div><span class="gmail-stdout"><br></span></div></blockquote></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, May 26, 2017 at 11:11 AM, Arnold Schwaighofer via cfe-commits <span dir="ltr"><<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: arnolds<br>
Date: Fri May 26 13:11:54 2017<br>
New Revision: 304017<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=304017&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=304017&view=rev</a><br>
Log:<br>
CodeGen: Define Swift's legal vector types for AArch64, ARM<br>
<br>
rdar://32401301<br>
<br>
Modified:<br>
    cfe/trunk/lib/CodeGen/<wbr>TargetInfo.cpp<br>
    cfe/trunk/test/CodeGen/64bit-<wbr>swiftcall.c<br>
    cfe/trunk/test/CodeGen/arm-<wbr>swiftcall.c<br>
<br>
Modified: cfe/trunk/lib/CodeGen/<wbr>TargetInfo.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/TargetInfo.cpp?rev=304017&r1=304016&r2=304017&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/lib/CodeGen/<wbr>TargetInfo.cpp?rev=304017&r1=<wbr>304016&r2=304017&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/lib/CodeGen/<wbr>TargetInfo.cpp (original)<br>
+++ cfe/trunk/lib/CodeGen/<wbr>TargetInfo.cpp Fri May 26 13:11:54 2017<br>
@@ -4821,6 +4821,9 @@ private:<br>
   bool isSwiftErrorInRegister() const override {<br>
     return true;<br>
   }<br>
+<br>
+  bool isLegalVectorTypeForSwift(<wbr>CharUnits totalSize, llvm::Type *eltTy,<br>
+                                 unsigned elts) const override;<br>
 };<br>
<br>
 class AArch64TargetCodeGenInfo : public TargetCodeGenInfo {<br>
@@ -4994,6 +4997,17 @@ bool AArch64ABIInfo::<wbr>isIllegalVectorType<br>
   return false;<br>
 }<br>
<br>
+bool AArch64ABIInfo::<wbr>isLegalVectorTypeForSwift(<wbr>CharUnits totalSize,<br>
+                                               llvm::Type *eltTy,<br>
+                                               unsigned elts) const {<br>
+  if (!llvm::isPowerOf2_32(elts))<br>
+    return false;<br>
+  if (totalSize.getQuantity() != 8 &&<br>
+      (totalSize.getQuantity() != 16 || elts == 1))<br>
+    return false;<br>
+  return true;<br>
+}<br>
+<br>
 bool AArch64ABIInfo::<wbr>isHomogeneousAggregateBaseType<wbr>(QualType Ty) const {<br>
   // Homogeneous aggregates for AAPCS64 must have base types of a floating<br>
   // point type or a short-vector type. This is the same as the 32-bit ABI,<br>
@@ -5382,6 +5396,8 @@ private:<br>
   bool isSwiftErrorInRegister() const override {<br>
     return true;<br>
   }<br>
+  bool isLegalVectorTypeForSwift(<wbr>CharUnits totalSize, llvm::Type *eltTy,<br>
+                                 unsigned elts) const override;<br>
 };<br>
<br>
 class ARMTargetCodeGenInfo : public TargetCodeGenInfo {<br>
@@ -5894,6 +5910,20 @@ bool ARMABIInfo::<wbr>isIllegalVectorType(Qua<br>
   return false;<br>
 }<br>
<br>
+bool ARMABIInfo::<wbr>isLegalVectorTypeForSwift(<wbr>CharUnits vectorSize,<br>
+                                           llvm::Type *eltTy,<br>
+                                           unsigned numElts) const {<br>
+  if (!llvm::isPowerOf2_32(numElts)<wbr>)<br>
+    return false;<br>
+  unsigned size = getDataLayout().<wbr>getTypeStoreSizeInBits(eltTy);<br>
+  if (size > 64)<br>
+    return false;<br>
+  if (vectorSize.getQuantity() != 8 &&<br>
+      (vectorSize.getQuantity() != 16 || numElts == 1))<br>
+    return false;<br>
+  return true;<br>
+}<br>
+<br>
 bool ARMABIInfo::<wbr>isHomogeneousAggregateBaseType<wbr>(QualType Ty) const {<br>
   // Homogeneous aggregates for AAPCS-VFP must have base types of float,<br>
   // double, or 64-bit or 128-bit vectors.<br>
<br>
Modified: cfe/trunk/test/CodeGen/64bit-<wbr>swiftcall.c<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/64bit-swiftcall.c?rev=304017&r1=304016&r2=304017&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/test/<wbr>CodeGen/64bit-swiftcall.c?rev=<wbr>304017&r1=304016&r2=304017&<wbr>view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/test/CodeGen/64bit-<wbr>swiftcall.c (original)<br>
+++ cfe/trunk/test/CodeGen/64bit-<wbr>swiftcall.c Fri May 26 13:11:54 2017<br>
@@ -1,5 +1,6 @@<br>
 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -target-cpu core2 -emit-llvm -o - %s | FileCheck %s<br>
 // RUN: %clang_cc1 -triple arm64-apple-ios9 -target-cpu cyclone -emit-llvm -o - %s | FileCheck %s<br>
+// RUN: %clang_cc1 -triple arm64-apple-ios9 -target-cpu cyclone -emit-llvm -o - %s | FileCheck %s --check-prefix=ARM64<br>
<br>
 // REQUIRES: aarch64-registered-target,x86-<wbr>registered-target<br>
<br>
@@ -60,6 +61,7 @@ SWIFTCALL void context_error_2(short s,<br>
 /*****************************<wbr>***** LOWERING ******************************<wbr>***/<br>
 /*****************************<wbr>******************************<wbr>******************/<br>
<br>
+typedef float float3 __attribute__((ext_vector_<wbr>type(3)));<br>
 typedef float float4 __attribute__((ext_vector_<wbr>type(4)));<br>
 typedef float float8 __attribute__((ext_vector_<wbr>type(8)));<br>
 typedef double double2 __attribute__((ext_vector_<wbr>type(2)));<br>
@@ -1005,3 +1007,10 @@ struct {<br>
 TEST(union_het_vecint)<br>
 // CHECK: define swiftcc void @return_union_het_vecint([[<wbr>UNION:%.*]]* noalias sret<br>
 // CHECK: define swiftcc void @take_union_het_vecint([[<wbr>UNION]]*<br>
+<br>
+typedef struct {<br>
+  float3 f3;<br>
+} struct_v1f3;<br>
+TEST(struct_v1f3)<br>
+// ARM64-LABEL: define swiftcc { <2 x float>, float } @return_struct_v1f3()<br>
+// ARM64-LABEL: define swiftcc void @take_struct_v1f3(<2 x float>, float)<br>
<br>
Modified: cfe/trunk/test/CodeGen/arm-<wbr>swiftcall.c<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/arm-swiftcall.c?rev=304017&r1=304016&r2=304017&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/test/<wbr>CodeGen/arm-swiftcall.c?rev=<wbr>304017&r1=304016&r2=304017&<wbr>view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/test/CodeGen/arm-<wbr>swiftcall.c (original)<br>
+++ cfe/trunk/test/CodeGen/arm-<wbr>swiftcall.c Fri May 26 13:11:54 2017<br>
@@ -57,6 +57,7 @@ SWIFTCALL void context_error_2(short s,<br>
 /*****************************<wbr>***** LOWERING ******************************<wbr>***/<br>
 /*****************************<wbr>******************************<wbr>******************/<br>
<br>
+typedef float float3 __attribute__((ext_vector_<wbr>type(3)));<br>
 typedef float float4 __attribute__((ext_vector_<wbr>type(4)));<br>
 typedef float float8 __attribute__((ext_vector_<wbr>type(8)));<br>
 typedef double double2 __attribute__((ext_vector_<wbr>type(2)));<br>
@@ -1013,3 +1014,10 @@ typedef struct {<br>
 TEST(struct_vf81)<br>
 // CHECK-LABEL: define swiftcc { <4 x float>, <4 x float> } @return_struct_vf81()<br>
 // CHECK-LABEL: define swiftcc void @take_struct_vf81(<4 x float>, <4 x float>)<br>
+<br>
+typedef struct {<br>
+  float3 f3;<br>
+} struct_v1f3;<br>
+TEST(struct_v1f3)<br>
+// CHECK-LABEL: define swiftcc { <2 x float>, float } @return_struct_v1f3()<br>
+// CHECK-LABEL: define swiftcc void @take_struct_v1f3(<2 x float>, float)<br>
<br>
<br>
______________________________<wbr>_________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-commits</a><br>
</blockquote></div><br></div>