| 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 | ; | ||||
| 4 | ; RUN: as < %s | opt -indvars | ||||
| 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 | } | ||||