summaryrefslogtreecommitdiff
path: root/test/passes/vacuum_remove-unused-names_merge-blocks.wast
blob: 79ffa1d9fcb09bf8f90c96353de89fbf65b2e2ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(module
  ;; vacuum and remove-unused names leave us with a return at the top, and then
  ;; merge-blocks wants to move the first line of the block into an outer block
  ;; that then becomes the fallthrough of the function, so it must be properly typed.
  ;; and here the new last element is a return, with unreachable type, bad for a block
  ;; in that position
  (func $return-block (param $x i32) (result i32)
    (return
      (block i32
        (set_local $x (get_local $x))
        (get_local $x)
      )
    )
  )
)