blob: 3e0efca11fdd6dbd11232c0a11cfb73f41af92c9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
;; NOTE: Assertions have been generated by update_lit_checks.py and should not be edited.
;; RUN: wasm-opt %s -S -o - | filecheck %s --check-prefix=NRML
;; RUN: env BINARYEN_PRINT_FULL=1 wasm-opt %s -S -o - | filecheck %s --check-prefix=FULL
;;
;; Compare normal text output with debug info to full mode.
;;
;; Full mode does not skip repeated debug info in some cases, see below. It also
;; annotates the type of each node.
;;
(module
;; NRML: (func $a
;; NRML-NEXT: ;;@ src.cpp:1:2
;; NRML-NEXT: (block $block
;; NRML-NEXT: (drop
;; NRML-NEXT: (i32.const 0)
;; NRML-NEXT: )
;; NRML-NEXT: ;;@ src.cpp:3:4
;; NRML-NEXT: (drop
;; NRML-NEXT: (i32.const 1)
;; NRML-NEXT: )
;; NRML-NEXT: ;;@ src.cpp:3:4
;; NRML-NEXT: (drop
;; NRML-NEXT: (i32.const 2)
;; NRML-NEXT: )
;; NRML-NEXT: )
;; NRML-NEXT: )
;; FULL: (func $a
;; FULL-NEXT: ;;@ src.cpp:1:2
;; FULL-NEXT: (block $block (; none ;)
;; FULL-NEXT: ;;@ src.cpp:1:2
;; FULL-NEXT: (drop
;; FULL-NEXT: ;;@ src.cpp:1:2
;; FULL-NEXT: (i32.const 0) (; i32 ;)
;; FULL-NEXT: ) (; none ;)
;; FULL-NEXT: ;;@ src.cpp:3:4
;; FULL-NEXT: (drop
;; FULL-NEXT: ;;@ src.cpp:3:4
;; FULL-NEXT: (i32.const 1) (; i32 ;)
;; FULL-NEXT: ) (; none ;)
;; FULL-NEXT: ;;@ src.cpp:3:4
;; FULL-NEXT: (drop
;; FULL-NEXT: ;;@ src.cpp:3:4
;; FULL-NEXT: (i32.const 2) (; i32 ;)
;; FULL-NEXT: ) (; none ;)
;; FULL-NEXT: ) ;; end block block (; none ;)
;; FULL-NEXT: )
(func $a
;;@ src.cpp:1:2
(block $block
(drop (i32.const 0)) ;; this child has the same location as the parent
;; block, and only in full mode will we print such
;; repeating info, including on the const child of
;; the drop
;;@ src.cpp:3:4
(drop (i32.const 1))
(drop (i32.const 2)) ;; this child has the same location as the sibling
;; before it, but we print it in normal mode as well
;; as full mode (as that seems less confusing). in
;; full mode, however, we also annotate the location
;; of the const node children of the drops.
)
)
)
|