quantum added inline comments.
================
Comment at: clang/test/CodeGen/wasm-varargs.c:104
+
+struct S test_zero_size_struct(char *fmt, ...) {
+ va_list va;
----------------
dschuff wrote:
> This should maybe be called "test_empty_struct" since its size is actually 1
> and not zero.
Done.
================
Comment at: clang/test/CodeGen/wasm-varargs.c:115
+
+// CHECK: define void @test_zero_size_struct([[STRUCT_S:%[^,=]+]]*{{.*}}
noalias sret [[AGG_RESULT:%.*]], i8*{{.*}} %fmt, ...) {{.*}} {
+// CHECK: [[FMT_ADDR:%[^,=]+]] = alloca i8*, align 4
----------------
dschuff wrote:
> could use CHECK_LABEL here and above.
Can't because the line has match patterns.
================
Comment at: clang/test/CodeGen/wasm-varargs.c:125
+// CHECK: store i8* [[ARGP_NEXT]], i8** [[VA]], align 4
+// CHECK: [[R0:%[^,=]+]] = bitcast i8* [[ARGP_CUR]] to [[STRUCT_Z]]*
+// CHECK: [[R1:%[^,=]+]] = bitcast [[STRUCT_Z]]* [[U]] to i8*
----------------
dschuff wrote:
> It looks like most of the output (up to here) is boilerplate for va_arg setup
> and duplicates the CHECKs above. It might be more clear if we just omitted
> the duplicated stuff and only CHECK for the things that are different from
> the above test.
We can't remove the duplicate checks for the second argument because the broken
code resulted from the second argument being incorrectly read when the first
argument is a blank structure.
Instead, I am changing the whole test to use `CHECK-NEXT` so we can be sure the
exact generated code is correct.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D66255/new/
https://reviews.llvm.org/D66255
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits