Add another cyclic dag test case.
[oota-llvm.git] / test / CodeGen / X86 / 2006-10-12-CycleInDAG.ll
1 ; RUN: llvm-as < %s | llc -march=x86
2         %struct.function = type opaque
3         %struct.lang_decl = type opaque
4         %struct.location_t = type { sbyte*, int }
5         %struct.rtx_def = type opaque
6         %struct.tree_common = type { %struct.tree_node*, %struct.tree_node*, %union.tree_ann_d*, ubyte, ubyte, ubyte, ubyte, ubyte }
7         %struct.tree_decl = type { %struct.tree_common, %struct.location_t, uint, %struct.tree_node*, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, ubyte, uint, %struct.tree_decl_u1, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.tree_node*, %struct.rtx_def*, int, %struct.tree_decl_u2, %struct.tree_node*, %struct.tree_node*, long, %struct.lang_decl* }
8         %struct.tree_decl_u1 = type { long }
9         %struct.tree_decl_u2 = type { %struct.function* }
10         %struct.tree_node = type { %struct.tree_decl }
11         %union.tree_ann_d = type opaque
12
13 void %check_format_arg() {
14         br bool false, label %cond_next196, label %bb12.preheader
15
16 bb12.preheader:
17         ret void
18
19 cond_next196:
20         br bool false, label %cond_next330, label %cond_true304
21
22 cond_true304:
23         ret void
24
25 cond_next330:
26         br bool false, label %cond_next472, label %bb441
27
28 bb441:
29         ret void
30
31 cond_next472:
32         %tmp490 = load %struct.tree_node** null
33         %tmp492 = getelementptr %struct.tree_node* %tmp490, int 0, uint 0, uint 0, uint 3
34         %tmp492 = cast ubyte* %tmp492 to uint*
35         %tmp493 = load uint* %tmp492
36         %tmp495 = cast uint %tmp493 to ubyte
37         %tmp496 = seteq ubyte %tmp495, 11
38         %tmp496 = cast bool %tmp496 to sbyte
39         store sbyte %tmp496, sbyte* null
40         ret void
41 }