Tanya Lattner | ce7d5db | 2008-03-19 05:39:35 +0000 | [diff] [blame^] | 1 | ; RUN: llvm-as < %s | opt -predsimplify -disable-output |
| 2 | target datalayout = "e-p:32:32" |
Nick Lewycky | 838f36f | 2006-08-31 03:13:05 +0000 | [diff] [blame] | 3 | target triple = "i686-pc-linux-gnu" |
| 4 | |
Tanya Lattner | ce7d5db | 2008-03-19 05:39:35 +0000 | [diff] [blame^] | 5 | define void @f(i32 %x, i32 %y) { |
Nick Lewycky | 838f36f | 2006-08-31 03:13:05 +0000 | [diff] [blame] | 6 | entry: |
Tanya Lattner | ce7d5db | 2008-03-19 05:39:35 +0000 | [diff] [blame^] | 7 | %tmp = icmp eq i32 %x, 10 ; <i1> [#uses=1] |
| 8 | %tmp.not = xor i1 %tmp, true ; <i1> [#uses=1] |
| 9 | %tmp3 = icmp eq i32 %x, %y ; <i1> [#uses=1] |
| 10 | %bothcond = and i1 %tmp.not, %tmp3 ; <i1> [#uses=1] |
| 11 | br i1 %bothcond, label %cond_true4, label %return |
Nick Lewycky | 838f36f | 2006-08-31 03:13:05 +0000 | [diff] [blame] | 12 | cond_true4: ; preds = %entry |
Tanya Lattner | ce7d5db | 2008-03-19 05:39:35 +0000 | [diff] [blame^] | 13 | switch i32 %y, label %return [ |
| 14 | i32 9, label %bb |
| 15 | i32 10, label %bb6 |
Nick Lewycky | 838f36f | 2006-08-31 03:13:05 +0000 | [diff] [blame] | 16 | ] |
Nick Lewycky | 838f36f | 2006-08-31 03:13:05 +0000 | [diff] [blame] | 17 | bb: ; preds = %cond_true4 |
Tanya Lattner | ce7d5db | 2008-03-19 05:39:35 +0000 | [diff] [blame^] | 18 | call void @g( i32 9 ) |
Nick Lewycky | 838f36f | 2006-08-31 03:13:05 +0000 | [diff] [blame] | 19 | ret void |
Nick Lewycky | 838f36f | 2006-08-31 03:13:05 +0000 | [diff] [blame] | 20 | bb6: ; preds = %cond_true4 |
Tanya Lattner | ce7d5db | 2008-03-19 05:39:35 +0000 | [diff] [blame^] | 21 | call void @g( i32 10 ) |
Nick Lewycky | 838f36f | 2006-08-31 03:13:05 +0000 | [diff] [blame] | 22 | ret void |
Nick Lewycky | 838f36f | 2006-08-31 03:13:05 +0000 | [diff] [blame] | 23 | return: ; preds = %cond_true4, %entry |
| 24 | ret void |
| 25 | } |
| 26 | |
Tanya Lattner | ce7d5db | 2008-03-19 05:39:35 +0000 | [diff] [blame^] | 27 | declare void @g(i32) |
| 28 | |