Davide Italiano | 20cb7e8 | 2017-08-28 20:29:33 +0000 | [diff] [blame] | 1 | ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py |
Davide Italiano | 16a426e | 2017-08-29 17:24:09 +0000 | [diff] [blame] | 2 | ; RUN: opt -S -loop-unroll -unroll-peel-count=1 < %s | FileCheck %s |
Davide Italiano | 20cb7e8 | 2017-08-28 20:29:33 +0000 | [diff] [blame] | 3 | |
| 4 | declare zeroext i8 @patatino() |
| 5 | |
| 6 | define fastcc void @tinky() { |
| 7 | ; CHECK-LABEL: @tinky( |
| 8 | ; CHECK-NEXT: entry: |
Davide Italiano | 16a426e | 2017-08-29 17:24:09 +0000 | [diff] [blame] | 9 | ; CHECK-NEXT: br label [[NEXT:%.*]] |
| 10 | ; CHECK: loopexit: |
Davide Italiano | 20cb7e8 | 2017-08-28 20:29:33 +0000 | [diff] [blame] | 11 | ; CHECK-NEXT: ret void |
Davide Italiano | 16a426e | 2017-08-29 17:24:09 +0000 | [diff] [blame] | 12 | ; CHECK: next: |
| 13 | ; CHECK-NEXT: br label [[LOOP_PEEL_BEGIN:%.*]] |
| 14 | ; CHECK: loop.peel.begin: |
| 15 | ; CHECK-NEXT: br label [[LOOP_PEEL:%.*]] |
| 16 | ; CHECK: loop.peel: |
| 17 | ; CHECK-NEXT: [[CALL593_PEEL:%.*]] = tail call zeroext i8 @patatino() |
| 18 | ; CHECK-NEXT: br i1 false, label [[LOOP_PEEL_NEXT:%.*]], label [[LOOPEXIT:%.*]] |
| 19 | ; CHECK: loop.peel.next: |
| 20 | ; CHECK-NEXT: br label [[LOOP_PEEL_NEXT1:%.*]] |
| 21 | ; CHECK: loop.peel.next1: |
| 22 | ; CHECK-NEXT: br label [[NEXT_PEEL_NEWPH:%.*]] |
| 23 | ; CHECK: next.peel.newph: |
| 24 | ; CHECK-NEXT: br label [[LOOP:%.*]] |
| 25 | ; CHECK: loop: |
| 26 | ; CHECK-NEXT: [[CALL593:%.*]] = tail call zeroext i8 @patatino() |
| 27 | ; CHECK-NEXT: br label [[LOOPEXIT]] |
Davide Italiano | 20cb7e8 | 2017-08-28 20:29:33 +0000 | [diff] [blame] | 28 | ; |
| 29 | entry: |
Davide Italiano | 16a426e | 2017-08-29 17:24:09 +0000 | [diff] [blame] | 30 | br label %next |
Davide Italiano | 20cb7e8 | 2017-08-28 20:29:33 +0000 | [diff] [blame] | 31 | |
Davide Italiano | 16a426e | 2017-08-29 17:24:09 +0000 | [diff] [blame] | 32 | loopexit: |
Davide Italiano | 20cb7e8 | 2017-08-28 20:29:33 +0000 | [diff] [blame] | 33 | ret void |
| 34 | |
Davide Italiano | 16a426e | 2017-08-29 17:24:09 +0000 | [diff] [blame] | 35 | next: |
| 36 | br label %loop |
Davide Italiano | 20cb7e8 | 2017-08-28 20:29:33 +0000 | [diff] [blame] | 37 | |
Davide Italiano | 16a426e | 2017-08-29 17:24:09 +0000 | [diff] [blame] | 38 | loop: |
| 39 | %a = phi i8 [ undef, %next ], [ %call593, %loop ] |
| 40 | %b = phi i32 [ 0, %next ], [ 1, %loop ] |
Davide Italiano | 20cb7e8 | 2017-08-28 20:29:33 +0000 | [diff] [blame] | 41 | %call593 = tail call zeroext i8 @patatino() |
Davide Italiano | 16a426e | 2017-08-29 17:24:09 +0000 | [diff] [blame] | 42 | br i1 false, label %loop, label %loopexit |
Davide Italiano | 20cb7e8 | 2017-08-28 20:29:33 +0000 | [diff] [blame] | 43 | } |