Skip to content

Commit bd7c565

Browse files
committed
update
1 parent f2e8f2c commit bd7c565

3 files changed

Lines changed: 25 additions & 31 deletions

File tree

src/tools/wasm-merge.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -378,8 +378,9 @@ void copyModuleContents(Module& input, Name inputName) {
378378
auto* callOld = builder.makeCall(merged.start, {}, Type::none);
379379
auto* callNew = builder.makeCall(input.start, {}, Type::none);
380380
auto* body = builder.makeSequence(callOld, callNew);
381-
auto combinedStart = builder.makeFunction(
381+
auto combined = builder.makeFunction(
382382
combinedName, Signature(Type::none, Type::none), {}, body);
383+
merged.addFunction(std::move(combined));
383384
merged.start = combinedName;
384385
}
385386
}

test/lit/merge/start-return.wat

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,16 @@
77
(module
88
(start $start-a)
99

10+
;; CHECK: (type $0 (func))
11+
12+
;; CHECK: (start $merged.start.combined)
13+
14+
;; CHECK: (func $start-a (type $0)
15+
;; CHECK-NEXT: (drop
16+
;; CHECK-NEXT: (i32.const 0)
17+
;; CHECK-NEXT: )
18+
;; CHECK-NEXT: (return)
19+
;; CHECK-NEXT: )
1020
(func $start-a
1121
(drop
1222
(i32.const 0)
@@ -15,23 +25,14 @@
1525
)
1626
)
1727

18-
;; CHECK: (type $0 (func))
19-
20-
;; CHECK: (start $merged.start.old)
21-
22-
;; CHECK: (func $merged.start.old (type $0)
23-
;; CHECK-NEXT: (block
24-
;; CHECK-NEXT: (drop
25-
;; CHECK-NEXT: (i32.const 0)
26-
;; CHECK-NEXT: )
27-
;; CHECK-NEXT: (return)
28-
;; CHECK-NEXT: )
29-
;; CHECK-NEXT: (call $merged.start.new)
30-
;; CHECK-NEXT: )
31-
32-
;; CHECK: (func $merged.start.new (type $0)
28+
;; CHECK: (func $start-b (type $0)
3329
;; CHECK-NEXT: (drop
3430
;; CHECK-NEXT: (i32.const 1)
3531
;; CHECK-NEXT: )
3632
;; CHECK-NEXT: (return)
3733
;; CHECK-NEXT: )
34+
35+
;; CHECK: (func $merged.start.combined (type $0)
36+
;; CHECK-NEXT: (call $start-a)
37+
;; CHECK-NEXT: (call $start-b)
38+
;; CHECK-NEXT: )

test/lit/merge/start3.wat

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
;; CHECK: (export "user" (func $user))
1515

16-
;; CHECK: (start $merged.start.old)
16+
;; CHECK: (start $merged.start.combined)
1717

1818
;; CHECK: (func $start (type $0)
1919
;; CHECK-NEXT: (local $x i32)
@@ -30,20 +30,7 @@
3030
;; CHECK-NEXT: (call $start)
3131
;; CHECK-NEXT: )
3232

33-
;; CHECK: (func $merged.start.old (type $0)
34-
;; CHECK-NEXT: (local $x i32)
35-
;; CHECK-NEXT: (block
36-
;; CHECK-NEXT: (drop
37-
;; CHECK-NEXT: (local.get $x)
38-
;; CHECK-NEXT: )
39-
;; CHECK-NEXT: (drop
40-
;; CHECK-NEXT: (i32.const 1)
41-
;; CHECK-NEXT: )
42-
;; CHECK-NEXT: )
43-
;; CHECK-NEXT: (call $merged.start.new)
44-
;; CHECK-NEXT: )
45-
46-
;; CHECK: (func $merged.start.new (type $0)
33+
;; CHECK: (func $start_2 (type $0)
4734
;; CHECK-NEXT: (local $x f64)
4835
;; CHECK-NEXT: (drop
4936
;; CHECK-NEXT: (local.get $x)
@@ -52,3 +39,8 @@
5239
;; CHECK-NEXT: (i32.const 2)
5340
;; CHECK-NEXT: )
5441
;; CHECK-NEXT: )
42+
43+
;; CHECK: (func $merged.start.combined (type $0)
44+
;; CHECK-NEXT: (call $start)
45+
;; CHECK-NEXT: (call $start_2)
46+
;; CHECK-NEXT: )

0 commit comments

Comments
 (0)