When splitting critical edges for a br_table to handle arguments being passed, split the default edge along with the normal table edges.
31 lines
598 B
Plaintext
31 lines
598 B
Plaintext
(module
|
|
(func (result i32)
|
|
(block (result i32)
|
|
(block (result i32)
|
|
(block (result i32)
|
|
(br_table 0 1 2 3 (i32.const 42) (i32.const 0))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(func (result i32)
|
|
(block (result i32)
|
|
(block (result i32)
|
|
(block (result i32)
|
|
(br_table 3 2 1 0 (i32.const 42) (i32.const 0))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(func (result i32)
|
|
(block (result i32)
|
|
(br_table 0 0 1 1 (i32.const 42) (i32.const 0))
|
|
)
|
|
)
|
|
(func (result i32)
|
|
(block (result i32)
|
|
(br_table 1 1 0 0 (i32.const 42) (i32.const 0))
|
|
)
|
|
)
|
|
)
|