[PowerPC] Fix CR Bit spill pseudo expansion
[llvm-core.git] / test / CodeGen / WebAssembly / annotations.mir
blob1ae2db8248471b9caa60d758b72d9f305765eab8
1 # RUN: llc -mtriple=wasm32-unknown-unknown -start-after xray-instrumentation -wasm-keep-registers %s -o - | FileCheck %s
3 ---
4 # Tests if block/loop/try/catch/end instructions are correctly printed with
5 # their annotations.
7 # CHECK: test0:
8 # CHECK:   block
9 # CHECK:   try
10 # CHECK:   br        0               # 0: down to label1
11 # CHECK:   catch_all                 # catch0:
12 # CHECK:   block
13 # CHECK:   br_if     0, 1            # 0: down to label2
14 # CHECK:   loop                      # label3:
15 # CHECK:   br_if     0, 1            # 0: up to label3
16 # CHECK:   end_loop
17 # CHECK:   end_block                 # label2:
18 # CHECK:   try
19 # CHECK:   rethrow   0               # 0: down to catch1
20 # CHECK:   catch_all                 # catch1:
21 # CHECK:   block
22 # CHECK:   try
23 # CHECK:   br        0               # 0: down to label6
24 # CHECK:   catch_all                 # catch2:
25 # CHECK:   unreachable
26 # CHECK:   end_try                   # label6:
27 # CHECK:   end_block                 # label5:
28 # CHECK:   rethrow   0               # 0: to caller
29 # CHECK:   end_try                   # label4:
30 # CHECK:   end_try                   # label1:
31 # CHECK:   end_block                 # label0:
33 name: test0
34 liveins:
35   - { reg: '$arguments', reg: '$value_stack' }
36 body: |
37   bb.0:
38     successors: %bb.7, %bb.1
39     BLOCK 64, implicit-def $value_stack, implicit $value_stack
40     TRY 64, implicit-def $value_stack, implicit $value_stack
41     BR 0, implicit-def $arguments
43   bb.1 (landing-pad):
44   ; predecessors: %bb.0
45     successors: %bb.2, %bb.3
47     CATCH_ALL implicit-def $arguments
48     BLOCK 64, implicit-def $value_stack, implicit $value_stack
49     BR_IF 0, 1, implicit-def $arguments, implicit-def $value_stack, implicit $value_stack
51   bb.2:
52   ; predecessors: %bb.1, %bb.2
53     successors: %bb.2, %bb.3
55     LOOP 64, implicit-def $value_stack, implicit $value_stack
56     BR_IF 0, 1, implicit-def $arguments
58   bb.3:
59   ; predecessors: %bb.1, %bb.2
60     successors: %bb.4
62     END_LOOP implicit-def $value_stack, implicit $value_stack
63     END_BLOCK implicit-def $value_stack, implicit $value_stack
64     TRY 64, implicit-def $value_stack, implicit $value_stack
65     RETHROW 0, implicit-def $arguments
67   bb.4 (landing-pad):
68   ; predecessors: %bb.3
69     successors: %bb.6, %bb.5
71     CATCH_ALL implicit-def $arguments
72     BLOCK 64, implicit-def $value_stack, implicit $value_stack
73     TRY 64, implicit-def $value_stack, implicit $value_stack
74     BR 0, implicit-def $arguments
76   bb.5 (landing-pad):
77   ; predecessors: %bb.4
78     CATCH_ALL implicit-def $arguments
79     UNREACHABLE implicit-def dead $arguments
81   bb.6:
82   ; predecessors: %bb.4
83     END_TRY implicit-def $value_stack, implicit $value_stack
84     END_BLOCK implicit-def $value_stack, implicit $value_stack
85     RETHROW 0, implicit-def $arguments
87   bb.7:
88   ; predecessors: %bb.0
89     END_TRY implicit-def $value_stack, implicit $value_stack
90     END_TRY implicit-def $value_stack, implicit $value_stack
91     END_BLOCK implicit-def $value_stack, implicit $value_stack
92     FALLTHROUGH_RETURN_VOID implicit-def dead $arguments
93     END_FUNCTION implicit-def $value_stack, implicit $value_stack
94 ...