Index: test/CodeGen/WebAssembly/byval.ll =================================================================== --- test/CodeGen/WebAssembly/byval.ll +++ test/CodeGen/WebAssembly/byval.ll @@ -10,14 +10,11 @@ %BigStruct = type { double, double, double, double, double, double, double, double, double, double, double, i8, i8, i8 } %EmptyStruct = type { } -%BigArray = type { [33 x i8] } - declare void @ext_func(%SmallStruct*) declare void @ext_func_empty(%EmptyStruct* byval) declare void @ext_byval_func(%SmallStruct* byval) declare void @ext_byval_func_align8(%SmallStruct* byval align 8) declare void @ext_byval_func_alignedstruct(%AlignedStruct* byval) -declare void @ext_byval_func_bigarray(%BigArray* byval) declare void @ext_byval_func_empty(%EmptyStruct* byval) ; CHECK-LABEL: byval_arg Index: test/CodeGen/WebAssembly/indirect-import.ll =================================================================== --- test/CodeGen/WebAssembly/indirect-import.ll +++ test/CodeGen/WebAssembly/indirect-import.ll @@ -18,6 +18,7 @@ %ijidf = alloca i32 (i64, i32, double, float)*, align 4 %vs = alloca void (%struct.big*)*, align 4 %s = alloca void (%struct.big*)*, align 4 + %i128ret = alloca i128 (i64)*, align 8 ; CHECK-DAG: i32.const {{.+}}=, extern_fd@FUNCTION ; CHECK-DAG: i32.const {{.+}}=, extern_vj@FUNCTION @@ -42,6 +43,11 @@ store void (%struct.big*)* @extern_sret, void (%struct.big*)** %s, align 4 %3 = load float (double)*, float (double)** %fd, align 4 %4 = ptrtoint float (double)* %3 to i32 + + store i128 (i64)* @extern_i128ret, i128 (i64)** %i128ret, align 8 + %5 = load i128 (i64)*, i128 (i64)** %i128ret, align 8 + %6 = call i128 %5(i64 1) + ret i32 %4 }