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 cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits