Chris Lattner | df422ba | 2002-09-10 04:54:44 +0000 | [diff] [blame] | 1 | ; Induction variable pass is doing bad things with pointer induction vars, |
| 2 | ; trying to do arithmetic on them directly. |
| 3 | ; |
Misha Brukman | edf4bab | 2003-09-16 15:29:54 +0000 | [diff] [blame] | 4 | ; RUN: llvm-as < %s | opt -indvars |
Chris Lattner | df422ba | 2002-09-10 04:54:44 +0000 | [diff] [blame] | 5 | ; |
| 6 | void %test(int %A, uint %S, sbyte* %S) { |
| 7 | |
| 8 | br label %Loop |
| 9 | Loop: |
| 10 | %PIV = phi sbyte* [%S, %0], [%PIVNext, %Loop] |
| 11 | |
| 12 | %PIV = cast sbyte* %PIV to ulong |
| 13 | %PIVNext = add ulong %PIV, 8 |
| 14 | %PIVNext = cast ulong %PIVNext to sbyte* |
| 15 | br label %Loop |
| 16 | } |