| Sanjay Patel | 3e9664f | 2016-03-28 22:12:21 +0000 | [diff] [blame] | 1 | ; NOTE: Assertions have been autogenerated by update_test_checks.py | 
| Chris Lattner | 283dda1 | 2003-03-05 20:22:50 +0000 | [diff] [blame] | 2 | ; Test merging of blocks that only have PHI nodes in them | 
|  | 3 | ; | 
| Chris Lattner | 335f0e4 | 2010-12-14 08:01:53 +0000 | [diff] [blame] | 4 | ; RUN: opt < %s -simplifycfg -S | FileCheck %s | 
| Chris Lattner | 283dda1 | 2003-03-05 20:22:50 +0000 | [diff] [blame] | 5 | ; | 
|  | 6 |  | 
| Tanya Lattner | baa370b | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 7 | define i32 @test(i1 %a, i1 %b) { | 
| Sanjay Patel | 3e9664f | 2016-03-28 22:12:21 +0000 | [diff] [blame] | 8 | ; CHECK-LABEL: @test( | 
|  | 9 | ; CHECK:       M: | 
|  | 10 | ; CHECK-NEXT:    [[DOT:%.*]] = select i1 %b, i32 0, i32 1 | 
|  | 11 | ; CHECK-NEXT:    [[W:%.*]] = select i1 %a, i32 2, i32 [[DOT]] | 
|  | 12 | ; CHECK-NEXT:    [[R:%.*]] = add i32 [[W]], 1 | 
|  | 13 | ; CHECK-NEXT:    ret i32 [[R]] | 
|  | 14 | ; | 
|  | 15 | br i1 %a, label %M, label %O | 
| Tanya Lattner | baa370b | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 16 | O:              ; preds = %0 | 
| Sanjay Patel | 3e9664f | 2016-03-28 22:12:21 +0000 | [diff] [blame] | 17 | br i1 %b, label %N, label %Q | 
| Tanya Lattner | baa370b | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 18 | Q:              ; preds = %O | 
| Sanjay Patel | 3e9664f | 2016-03-28 22:12:21 +0000 | [diff] [blame] | 19 | br label %N | 
| Tanya Lattner | baa370b | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 20 | N:              ; preds = %Q, %O | 
| Sanjay Patel | 3e9664f | 2016-03-28 22:12:21 +0000 | [diff] [blame] | 21 | ; This block should be foldable into M | 
|  | 22 | %Wp = phi i32 [ 0, %O ], [ 1, %Q ]              ; <i32> [#uses=1] | 
|  | 23 | br label %M | 
| Tanya Lattner | baa370b | 2008-03-18 03:45:45 +0000 | [diff] [blame] | 24 | M:              ; preds = %N, %0 | 
| Sanjay Patel | 3e9664f | 2016-03-28 22:12:21 +0000 | [diff] [blame] | 25 | %W = phi i32 [ %Wp, %N ], [ 2, %0 ]             ; <i32> [#uses=1] | 
|  | 26 | %R = add i32 %W, 1              ; <i32> [#uses=1] | 
|  | 27 | ret i32 %R | 
| Chris Lattner | 283dda1 | 2003-03-05 20:22:50 +0000 | [diff] [blame] | 28 | } | 
|  | 29 |  |