This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Question on register renaming in rtl loop unroll pass


> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]