Dan Gohman | 3c7d308 | 2009-09-11 18:01:28 +0000 | [diff] [blame] | 1 | ; RUN: opt < %s -simplifycfg -disable-output |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 2 | |
Tanya Lattner | 003eae5 | 2008-03-10 07:21:50 +0000 | [diff] [blame] | 3 | define void @symhash_add() { |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 4 | entry: |
Tanya Lattner | 003eae5 | 2008-03-10 07:21:50 +0000 | [diff] [blame] | 5 | br i1 undef, label %then.0, label %UnifiedReturnBlock |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 6 | then.0: ; preds = %entry |
Tanya Lattner | 003eae5 | 2008-03-10 07:21:50 +0000 | [diff] [blame] | 7 | br i1 undef, label %loopentry.2, label %loopentry.1.preheader |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 8 | loopentry.1.preheader: ; preds = %then.0 |
| 9 | br label %loopentry.1.outer |
Tanya Lattner | 003eae5 | 2008-03-10 07:21:50 +0000 | [diff] [blame] | 10 | loopentry.1.outer: ; preds = %loopexit.1, %loopentry.1.preheader |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 11 | br label %loopentry.1 |
Tanya Lattner | 003eae5 | 2008-03-10 07:21:50 +0000 | [diff] [blame] | 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 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 14 | no_exit.1: ; preds = %loopentry.1 |
Tanya Lattner | 003eae5 | 2008-03-10 07:21:50 +0000 | [diff] [blame] | 15 | br i1 undef, label %then.1, label %else.0 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 16 | then.1: ; preds = %no_exit.1 |
| 17 | br label %loopentry.1 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 18 | else.0: ; preds = %no_exit.1 |
Tanya Lattner | 003eae5 | 2008-03-10 07:21:50 +0000 | [diff] [blame] | 19 | br i1 undef, label %then.2, label %else.1 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 20 | then.2: ; preds = %else.0 |
Tanya Lattner | 003eae5 | 2008-03-10 07:21:50 +0000 | [diff] [blame] | 21 | br i1 undef, label %then.3, label %endif.1 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 22 | then.3: ; preds = %then.2 |
| 23 | br label %loopentry.1 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 24 | else.1: ; preds = %else.0 |
Tanya Lattner | 003eae5 | 2008-03-10 07:21:50 +0000 | [diff] [blame] | 25 | br i1 undef, label %endif.1, label %then.4 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 26 | then.4: ; preds = %else.1 |
| 27 | br label %loopentry.1 |
Tanya Lattner | 003eae5 | 2008-03-10 07:21:50 +0000 | [diff] [blame] | 28 | endif.1: ; preds = %else.1, %then.2 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 29 | br label %loopentry.1 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 30 | loopexit.1: ; preds = %loopentry.1 |
Tanya Lattner | 003eae5 | 2008-03-10 07:21:50 +0000 | [diff] [blame] | 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 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 34 | no_exit.2: ; preds = %loopentry.2 |
| 35 | br label %loopentry.2 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 36 | loopexit.2: ; preds = %loopentry.2 |
| 37 | ret void |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 38 | UnifiedReturnBlock: ; preds = %entry |
| 39 | ret void |
| 40 | } |