In some rare cases, the register allocator can spill registers but end up not utilizi...
[llvm/msp430.git] / test / Transforms / SimplifyCFG / 2004-12-10-SimplifyCFGCrash.ll
blobde0d2624582931dd5bee6a27fe2ca49c337b637f
1 ; RUN: llvm-as < %s | opt -simplifycfg -disable-output
3 define void @symhash_add() {
4 entry:
5         br i1 undef, label %then.0, label %UnifiedReturnBlock
6 then.0:         ; preds = %entry
7         br i1 undef, label %loopentry.2, label %loopentry.1.preheader
8 loopentry.1.preheader:          ; preds = %then.0
9         br label %loopentry.1.outer
10 loopentry.1.outer:              ; preds = %loopexit.1, %loopentry.1.preheader
11         br label %loopentry.1
12 loopentry.1:            ; preds = %endif.1, %then.4, %then.3, %then.1, %loopentry.1.outer
13         br i1 undef, label %loopexit.1, label %no_exit.1
14 no_exit.1:              ; preds = %loopentry.1
15         br i1 undef, label %then.1, label %else.0
16 then.1:         ; preds = %no_exit.1
17         br label %loopentry.1
18 else.0:         ; preds = %no_exit.1
19         br i1 undef, label %then.2, label %else.1
20 then.2:         ; preds = %else.0
21         br i1 undef, label %then.3, label %endif.1
22 then.3:         ; preds = %then.2
23         br label %loopentry.1
24 else.1:         ; preds = %else.0
25         br i1 undef, label %endif.1, label %then.4
26 then.4:         ; preds = %else.1
27         br label %loopentry.1
28 endif.1:                ; preds = %else.1, %then.2
29         br label %loopentry.1
30 loopexit.1:             ; preds = %loopentry.1
31         br i1 undef, label %loopentry.1.outer, label %loopentry.2
32 loopentry.2:            ; preds = %no_exit.2, %loopexit.1, %then.0
33         br i1 undef, label %loopexit.2, label %no_exit.2
34 no_exit.2:              ; preds = %loopentry.2
35         br label %loopentry.2
36 loopexit.2:             ; preds = %loopentry.2
37         ret void
38 UnifiedReturnBlock:             ; preds = %entry
39         ret void