Andrew Trick | 685f07f | 2011-04-27 23:00:03 +0000 | [diff] [blame] | 1 | ; RUN: opt < %s -indvars -S | FileCheck %s |
Dale Johannesen | 617d108 | 2009-04-27 21:03:15 +0000 | [diff] [blame] | 2 | ; PR4086 |
| 3 | declare void @foo() |
| 4 | |
| 5 | define void @test() { |
| 6 | entry: |
| 7 | br label %loop_body |
| 8 | |
Andrew Trick | 685f07f | 2011-04-27 23:00:03 +0000 | [diff] [blame] | 9 | loop_body: |
| 10 | %i = phi float [ %nexti, %loop_body ], [ 0.0, %entry ] |
Dale Johannesen | 617d108 | 2009-04-27 21:03:15 +0000 | [diff] [blame] | 11 | tail call void @foo() |
Dan Gohman | ae3a0be | 2009-06-04 22:49:04 +0000 | [diff] [blame] | 12 | %nexti = fadd float %i, 1.0 |
Andrew Trick | 685f07f | 2011-04-27 23:00:03 +0000 | [diff] [blame] | 13 | ; CHECK: icmp ne i32 %{{[a-zA-Z$._0-9]+}}, 2 |
| 14 | %less = fcmp olt float %nexti, 2.0 |
Dale Johannesen | 617d108 | 2009-04-27 21:03:15 +0000 | [diff] [blame] | 15 | br i1 %less, label %loop_body, label %done |
| 16 | |
Andrew Trick | 685f07f | 2011-04-27 23:00:03 +0000 | [diff] [blame] | 17 | done: |
Dale Johannesen | 617d108 | 2009-04-27 21:03:15 +0000 | [diff] [blame] | 18 | ret void |
| 19 | } |