Re: Rename across basic block boundaries

2011-09-07 Thread Bernd Schmidt
On 09/06/11 12:37, Richard Sandiford wrote: > Maybe here: [...] > it would be better to use: > > this_info = (struct bb_rename_info *) bb1->aux; > > if (this_info == NULL) > continue; > > so that we don't care which order the rename_info array is. You could > then keep the original f

Re: Rename across basic block boundaries

2011-09-06 Thread Richard Sandiford
Bernd Schmidt writes: > On 09/01/11 16:16, Richard Sandiford wrote: >> Bernd Schmidt writes: >>> On 08/26/11 14:57, Richard Sandiford wrote: Wouldn't a reverse post-order (inverted_post_order_compute) allow even more pre-opening (as well as being less code)? >>> >>> I can't really tell

Re: Rename across basic block boundaries

2011-09-05 Thread Bernd Schmidt
On 09/01/11 16:16, Richard Sandiford wrote: > Bernd Schmidt writes: >> On 08/26/11 14:57, Richard Sandiford wrote: >>> Wouldn't a reverse post-order (inverted_post_order_compute) allow even >>> more pre-opening (as well as being less code)? >> >> I can't really tell from the comments what that fun

Re: Rename across basic block boundaries

2011-09-01 Thread Richard Sandiford
Bernd Schmidt writes: > On 08/26/11 14:57, Richard Sandiford wrote: >>> + /* There must be some kind of conflict. Set the unusable for all >>> + overlapping registers. */ >>> + min_reg = chain->regno; >>> + if (incoming_nregs < 0) >>> +min_reg += incoming_nregs; >>> + max_reg = chain

Re: Rename across basic block boundaries

2011-09-01 Thread Bernd Schmidt
On 08/26/11 14:57, Richard Sandiford wrote: >> + /* There must be some kind of conflict. Set the unusable for all >> + overlapping registers. */ >> + min_reg = chain->regno; >> + if (incoming_nregs < 0) >> +min_reg += incoming_nregs; >> + max_reg = chain->regno + chain->nregs; >> + f

Re: Rename across basic block boundaries

2011-08-26 Thread Richard Sandiford
Rather than using global variables and then copying them into a bb structure, would it be possible to write directly into the bb structure? The answer's probably "no", just asking. :-) Bernd Schmidt writes: > * regrename.c (struct du_head): Make nregs signed. > (scan_rtx_reg, scan_rtx

Re: Rename across basic block boundaries

2011-08-25 Thread Bernd Schmidt
On 08/24/11 13:12, Richard Sandiford wrote: > Sorry, I'm find this a bit tough to review. Could you provide some > overview comments somewhere to say what the new algorithm is? > The comment at the head of regrename.c still describes the current > bb-local algorithm. New patch below, with extra c

Re: Rename across basic block boundaries

2011-08-25 Thread Bernd Schmidt
On 08/24/11 13:12, Richard Sandiford wrote: > Sorry, I'm find this a bit tough to review. Could you provide some > overview comments somewhere to say what the new algorithm is? Will resubmit. To make the patch smaller next time, I've committed the following as obvious (BSRT i686-linux). Bernd I

Re: Rename across basic block boundaries

2011-08-24 Thread Richard Sandiford
Sorry, I'm find this a bit tough to review. Could you provide some overview comments somewhere to say what the new algorithm is? The comment at the head of regrename.c still describes the current bb-local algorithm. One thing though: Bernd Schmidt writes: > @@ -215,8 +306,9 @@ merge_overlapping