annotate test/CodeGen/WebAssembly/implicit-def.ll @ 128:c347d3398279 default tip

fix
author mir3636
date Wed, 06 Dec 2017 14:37:17 +0900
parents 803732b1fca8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
120
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
1 ; RUN: llc -o - %s | FileCheck %s
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
2 target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128"
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
3 target triple = "wasm32-unknown-unknown-wasm"
120
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
4
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
5 ; Test that stackified IMPLICIT_DEF instructions are converted into
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
6 ; CONST_I32 to provide an explicit push.
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
7
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
8 ; CHECK: br_if 2,
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
9 ; CHECK: i32.const $push[[L0:[0-9]+]]=, 0{{$}}
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
10 ; CHECK-NEXT: return $pop[[L0]]{{$}}
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
11 define i1 @f() {
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
12 %a = xor i1 0, 0
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
13 switch i1 %a, label %C [
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
14 i1 0, label %A
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
15 i1 1, label %B
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
16 ]
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
17
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
18 A:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
19 %b = xor i1 0, 0
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
20 br label %X
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
21
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
22 B:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
23 %c = xor i1 0, 0
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
24 br i1 %c, label %D, label %X
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
25
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
26 C:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
27 %d = icmp slt i32 0, 0
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
28 br i1 %d, label %G, label %F
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
29
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
30 D:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
31 %e = xor i1 0, 0
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
32 br i1 %e, label %E, label %X
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
33
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
34 E:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
35 %f = xor i1 0, 0
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
36 br label %X
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
37
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
38 F:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
39 %g = xor i1 0, 0
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
40 br label %G
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
41
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
42 G:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
43 %h = phi i1 [ undef, %C ], [ false, %F ]
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
44 br label %X
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
45
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
46 X:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
47 %i = phi i1 [ true, %A ], [ true, %B ], [ true, %D ], [ true, %E ], [ %h, %G ]
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
48 ret i1 %i
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
49 }
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
50