xref: /llvm-project/llvm/test/CodeGen/WebAssembly/stack-insts.ll (revision 122b0220fd45ee71acda912b0b712bb8edb6ba46)
1a40303aaSHeejin Ahn; RUN: llc < %s -asm-verbose=false -disable-wasm-fallthrough-return-opt -disable-block-placement -verify-machineinstrs | FileCheck %s
2a40303aaSHeejin Ahn
3a40303aaSHeejin Ahntarget triple = "wasm32-unknown-unknown"
4a40303aaSHeejin Ahn
5a40303aaSHeejin Ahndeclare void @foo0()
6a40303aaSHeejin Ahndeclare void @foo1()
7a40303aaSHeejin Ahn
8a40303aaSHeejin Ahn; Tests if br_table is printed correctly with a tab.
9a40303aaSHeejin Ahn; CHECK-LABEL: test0:
10*7f50c15bSThomas Lively; CHECK: br_table {0, 1, 0, 1, 2}
11a40303aaSHeejin Ahndefine void @test0(i32 %n) {
12a40303aaSHeejin Ahnentry:
13a40303aaSHeejin Ahn  switch i32 %n, label %sw.epilog [
14a40303aaSHeejin Ahn    i32 0, label %sw.bb
15a40303aaSHeejin Ahn    i32 1, label %sw.bb.1
16a40303aaSHeejin Ahn    i32 2, label %sw.bb
17a40303aaSHeejin Ahn    i32 3, label %sw.bb.1
18a40303aaSHeejin Ahn  ]
19a40303aaSHeejin Ahn
20a40303aaSHeejin Ahnsw.bb:                                            ; preds = %entry, %entry
21a40303aaSHeejin Ahn  tail call void @foo0()
22a40303aaSHeejin Ahn  br label %sw.epilog
23a40303aaSHeejin Ahn
24a40303aaSHeejin Ahnsw.bb.1:                                          ; preds = %entry, %entry
25a40303aaSHeejin Ahn  tail call void @foo1()
26a40303aaSHeejin Ahn  br label %sw.epilog
27a40303aaSHeejin Ahn
28a40303aaSHeejin Ahnsw.epilog:                                        ; preds = %entry, %sw.bb, %sw.bb.1
29a40303aaSHeejin Ahn  ret void
30a40303aaSHeejin Ahn}
31