Reid Spencer | a878bab | 2007-01-09 06:25:15 +0000 | [diff] [blame] | 1 | ; For PR1099 |
Reid Spencer | 1500515 | 2007-02-15 21:01:58 +0000 | [diff] [blame^] | 2 | ; RUN: llvm-as < %s | llc -march=c | \ |
| 3 | ; RUN: grep 'return ((((ltmp_2_2 == ltmp_1_2)) ? (1) : (0)))' |
Reid Spencer | a878bab | 2007-01-09 06:25:15 +0000 | [diff] [blame] | 4 | |
| 5 | target datalayout = "e-p:32:32" |
Reid Spencer | a878bab | 2007-01-09 06:25:15 +0000 | [diff] [blame] | 6 | target triple = "i686-apple-darwin8" |
| 7 | %struct.Connector = type { i16, i16, i8, i8, %struct.Connector*, i8* } |
| 8 | |
| 9 | implementation ; Functions: |
| 10 | |
Reid Spencer | 1500515 | 2007-02-15 21:01:58 +0000 | [diff] [blame^] | 11 | define i1 @prune_match_entry_2E_ce(%struct.Connector* %a, i16 %b.0.0.val) { |
Reid Spencer | a878bab | 2007-01-09 06:25:15 +0000 | [diff] [blame] | 12 | newFuncRoot: |
| 13 | br label %entry.ce |
| 14 | |
| 15 | cond_next.exitStub: ; preds = %entry.ce |
Reid Spencer | 1500515 | 2007-02-15 21:01:58 +0000 | [diff] [blame^] | 16 | ret i1 true |
Reid Spencer | a878bab | 2007-01-09 06:25:15 +0000 | [diff] [blame] | 17 | |
| 18 | entry.return_crit_edge.exitStub: ; preds = %entry.ce |
Reid Spencer | 1500515 | 2007-02-15 21:01:58 +0000 | [diff] [blame^] | 19 | ret i1 false |
Reid Spencer | a878bab | 2007-01-09 06:25:15 +0000 | [diff] [blame] | 20 | |
| 21 | entry.ce: ; preds = %newFuncRoot |
Reid Spencer | 1500515 | 2007-02-15 21:01:58 +0000 | [diff] [blame^] | 22 | %tmp1 = getelementptr %struct.Connector* %a, i32 0, i32 0 ; <i16*> [#uses=1] |
| 23 | %tmp2 = load i16* %tmp1 ; <i16> [#uses=1] |
| 24 | %tmp3 = icmp eq i16 %tmp2, %b.0.0.val ; <i1> [#uses=1] |
| 25 | br i1 %tmp3, label %cond_next.exitStub, label %entry.return_crit_edge.exitStub |
Reid Spencer | a878bab | 2007-01-09 06:25:15 +0000 | [diff] [blame] | 26 | } |
| 27 | |
| 28 | |