> Hi, I have a question about register renaming in rtl loop unroll.
> For an example loop:
> .L1:
>   [r162] <-  x
>   r162 <- r162 + 4
>   ...
>   b .L1
> 
> After unrolling:
> .L1:
>   [r162] <-  x
>   r197 <- r162 + 4
>   r162 <- r197
>   ...
>   [r162] <- y
>   r162 <- r197 + 4
>   ...
>   b .L1
> Why not:
> .L1:
>   [r162] <-  x
>   r162 <- r162 + 4
>   ...
>   [r162] <- y
>   r162 <- r162 + 4
>   ...
>   b .L1
> 
> Thus less copy instructions and can take advantage of auto-increment.
> Any ideas?

The general principle is to avoid pseudo-registers with long live ranges 
because this unnecessarily contraints the RTL optimizers.

-- 
Eric Botcazou

Reply via email to