In some rare cases, the register allocator can spill registers but end up not utilizi...
[llvm/msp430.git] / test / CodeGen / Generic / 2006-01-12-BadSetCCFold.ll
blob1a555b35506761c430d4d1b6ece0d8f02329d273
1 ; RUN: llvm-as < %s | llc
2 ; ModuleID = '2006-01-12-BadSetCCFold.ll'
3         %struct.node_t = type { double*, %struct.node_t*, %struct.node_t**, double**, double*, i32, i32 }
5 define void @main() {
6 entry:
7         br i1 false, label %then.2.i, label %endif.2.i
9 then.2.i:               ; preds = %entry
10         br label %dealwithargs.exit
12 endif.2.i:              ; preds = %entry
13         br i1 false, label %then.3.i, label %dealwithargs.exit
15 then.3.i:               ; preds = %endif.2.i
16         br label %dealwithargs.exit
18 dealwithargs.exit:              ; preds = %then.3.i, %endif.2.i, %then.2.i
19         %n_nodes.4 = phi i32 [ 64, %then.3.i ], [ 64, %then.2.i ], [ 64, %endif.2.i ]           ; <i32> [#uses=1]
20         %tmp.14.i1134.i.i = icmp sgt i32 %n_nodes.4, 1          ; <i1> [#uses=2]
21         br i1 %tmp.14.i1134.i.i, label %no_exit.i12.i.i, label %fill_table.exit22.i.i
23 no_exit.i12.i.i:                ; preds = %no_exit.i12.i.i, %dealwithargs.exit
24         br i1 false, label %fill_table.exit22.i.i, label %no_exit.i12.i.i
26 fill_table.exit22.i.i:          ; preds = %no_exit.i12.i.i, %dealwithargs.exit
27         %cur_node.0.i8.1.i.i = phi %struct.node_t* [ undef, %dealwithargs.exit ], [ null, %no_exit.i12.i.i ]            ; <%struct.node_t*> [#uses=0]
28         br i1 %tmp.14.i1134.i.i, label %no_exit.i.preheader.i.i, label %make_tables.exit.i
30 no_exit.i.preheader.i.i:                ; preds = %fill_table.exit22.i.i
31         ret void
33 make_tables.exit.i:             ; preds = %fill_table.exit22.i.i
34         ret void