| Chris Lattner | fa982a5 | 2003-08-27 01:05:19 +0000 | [diff] [blame] | 1 | ; The PHI cannot be eliminated from this testcase, SCCP is mishandling invoke's! | 
| Dan Gohman | 1880092 | 2009-09-11 18:01:28 +0000 | [diff] [blame] | 2 | ; RUN: opt < %s -sccp -S | grep phi | 
| Chris Lattner | fa982a5 | 2003-08-27 01:05:19 +0000 | [diff] [blame] | 3 |  | 
| Tanya Lattner | 1d526b9 | 2008-03-19 04:14:49 +0000 | [diff] [blame] | 4 | declare void @foo() | 
|  | 5 |  | 
|  | 6 | define i32 @test(i1 %cond) { | 
| Chris Lattner | fa982a5 | 2003-08-27 01:05:19 +0000 | [diff] [blame] | 7 | Entry: | 
| Tanya Lattner | 1d526b9 | 2008-03-19 04:14:49 +0000 | [diff] [blame] | 8 | br i1 %cond, label %Inv, label %Cont | 
|  | 9 | Inv:		; preds = %Entry | 
|  | 10 | invoke void @foo( ) | 
| Bill Wendling | b1e680f | 2011-08-31 20:55:40 +0000 | [diff] [blame] | 11 | to label %Ok unwind label %LPad | 
| Tanya Lattner | 1d526b9 | 2008-03-19 04:14:49 +0000 | [diff] [blame] | 12 | Ok:		; preds = %Inv | 
| Chris Lattner | fa982a5 | 2003-08-27 01:05:19 +0000 | [diff] [blame] | 13 | br label %Cont | 
| Bill Wendling | b1e680f | 2011-08-31 20:55:40 +0000 | [diff] [blame] | 14 | LPad: | 
|  | 15 | %val = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) | 
|  | 16 | catch i8* null | 
|  | 17 | br label %Cont | 
| Tanya Lattner | 1d526b9 | 2008-03-19 04:14:49 +0000 | [diff] [blame] | 18 | Cont:		; preds = %Ok, %Inv, %Entry | 
| Bill Wendling | b1e680f | 2011-08-31 20:55:40 +0000 | [diff] [blame] | 19 | %X = phi i32 [ 0, %Entry ], [ 1, %Ok ], [ 0, %LPad ]		; <i32> [#uses=1] | 
| Tanya Lattner | 1d526b9 | 2008-03-19 04:14:49 +0000 | [diff] [blame] | 20 | ret i32 %X | 
| Chris Lattner | fa982a5 | 2003-08-27 01:05:19 +0000 | [diff] [blame] | 21 | } | 
| Tanya Lattner | 1d526b9 | 2008-03-19 04:14:49 +0000 | [diff] [blame] | 22 |  | 
| Bill Wendling | b1e680f | 2011-08-31 20:55:40 +0000 | [diff] [blame] | 23 | declare i32 @__gxx_personality_v0(...) |