================
@@ -0,0 +1,77 @@
+
+// RUN: %clang_cc1 -gkey-instructions -x c++ %s 
-debug-info-kind=line-tables-only -gno-column-info -emit-llvm -o - 
-ftrivial-auto-var-init=zero -fenable-matrix -disable-llvm-passes \
+// RUN: | FileCheck %s --implicit-check-not atomGroup --implicit-check-not 
atomRank
+
+// RUN: %clang_cc1 -gkey-instructions -x c %s 
-debug-info-kind=line-tables-only -gno-column-info -emit-llvm -o - 
-ftrivial-auto-var-init=zero -fenable-matrix -disable-llvm-passes \
+// RUN: | FileCheck %s --implicit-check-not atomGroup --implicit-check-not 
atomRank
+
+typedef float m2x2 __attribute__((matrix_type(2, 2)));
+m2x2 mat;
+float f4[4];
+float f8[8];
+
+void fun() {
+// CHECK: %a = alloca ptr, align 8
+// CHECK: %0 = alloca i8, i64 4{{.*}}, !dbg [[G1R2:!.*]]
+// CHECK: call void @llvm.memset{{.*}}, !dbg [[G1R1:!.*]], !annotation
+// CHECK: store ptr %0, ptr %a{{.*}}, !dbg [[G1R1:!.*]]
+    void *a = __builtin_alloca(4);
+
+// CHECK: %1 = alloca i8, i64 4{{.*}}, !dbg [[G2R2:!.*]]
+// CHECK: call void @llvm.memset{{.*}}, !dbg [[G2R1:!.*]], !annotation
+// CHECK: store ptr %1, ptr %b{{.*}}, !dbg [[G2R1:!.*]]
+    void *b = __builtin_alloca_with_align(4, 8);
----------------
OCHyams wrote:

No not changed in this patch, this is more to show that it "just works" with 
all the moving parts from the other patches. This is an assignment, so we 
already handle that. There's nothing special we need to do for the 
`__builtin_alloca_with_align` call itself.

https://github.com/llvm/llvm-project/pull/134651
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to